編輯:關於android開發
1 <?xml version="1.0" encoding="UTF-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="80dp" 5 android:background="@android:color/white" > 6 7 <ImageView 8 android:id="@+id/list_icon_img" 9 android:layout_width="80dp" 10 android:layout_height="80dp" 11 android:src="@drawable/ic_launcher" /> 12 13 <TextView 14 android:id="@+id/list_name_txt" 15 android:layout_width="wrap_content" 16 android:layout_height="wrap_content" 17 android:layout_toRightOf="@id/list_icon_img" 18 android:singleLine="true" 19 android:text="瑞庭竹島酒店" 20 android:textColor="@android:color/background_dark" 21 android:textSize="16sp" /> 22 23 <TextView 24 android:id="@+id/list_coupe_txt" 25 android:layout_width="wrap_content" 26 android:layout_height="wrap_content" 27 android:layout_below="@id/list_name_txt" 28 android:layout_toRightOf="@id/list_icon_img" 29 android:singleLine="true" 30 android:text="網上預定入住可享返現優惠" 31 android:textColor="@android:color/holo_red_dark" 32 android:textSize="14sp" /> 33 34 <TextView 35 android:id="@+id/list_distance_txt" 36 android:layout_width="wrap_content" 37 android:layout_height="wrap_content" 38 android:layout_alignParentBottom="true" 39 android:layout_alignParentRight="true" 40 android:layout_marginRight="10dp" 41 android:drawableLeft="@drawable/info_map" 42 android:text="2.0k" 43 android:textColor="@android:color/tab_indicator_text" 44 android:textSize="14sp" /> 45 46 <TextView 47 android:id="@+id/list_location_txt" 48 android:layout_width="wrap_content" 49 android:layout_height="wrap_content" 50 android:layout_alignParentBottom="true" 51 android:layout_toLeftOf="@id/list_distance_txt" 52 android:layout_toRightOf="@id/list_icon_img" 53 android:singleLine="true" 54 android:text="四川省成都市高新區老成仁路8號成都市高新區老成都市高新區老成都市高新區老成都市高新區老" 55 android:textColor="@android:color/tab_indicator_text" 56 android:textSize="14sp" /> 57 - 58 59 60 61 <RelativeLayout 62 android:layout_width="wrap_content" 63 android:layout_height="wrap_content" 64 android:layout_alignParentRight="true" 65 android:layout_alignParentTop="true" > 66 67 <ImageView 68 android:id="@+id/list_card_img" 69 android:layout_width="wrap_content" 70 android:layout_height="wrap_content" 71 android:src="@drawable/near_card" /> 72 73 <ImageView 74 android:id="@+id/list_group_img" 75 android:layout_width="wrap_content" 76 android:layout_height="wrap_content" 77 android:layout_toRightOf="@id/list_card_img" 78 android:src="@drawable/near_group" /> 79 80 <ImageView 81 android:id="@+id/list_ticket_img" 82 android:layout_width="wrap_content" 83 android:layout_height="wrap_content" 84 android:layout_toRightOf="@id/list_group_img" 85 android:src="@drawable/near_ticket" /> 86 </RelativeLayout> 87 88 </RelativeLayout>
運行效果圖:

需要用到四個lib包 :解析json gson包,從網絡地址解析json數據成String字符串的異步網絡解析工具AsyncHttpClient,等
下載地址:點擊下載

代碼如下:
1 package com.lixu.testjsonall;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import com.google.gson.Gson;
6 import com.loopj.android.http.AsyncHttpClient;
7 import com.loopj.android.http.TextHttpResponseHandler;
8 import com.squareup.picasso.Picasso;
9 import android.app.Activity;
10 import android.content.Context;
11 import android.os.Bundle;
12 import android.view.LayoutInflater;
13 import android.view.View;
14 import android.view.ViewGroup;
15 import android.view.Window;
16 import android.widget.ArrayAdapter;
17 import android.widget.ImageView;
18 import android.widget.ListView;
19 import android.widget.TextView;
20 import android.widget.Toast;
21 import cz.msebera.android.httpclient.Header;
22
23 public class MainActivity extends Activity {
24 private String net_url = "http://192.168.1.139/json/around";
25 private ListView lv;
26 private MyAdapter mMyAdapter;
27
28 @Override
29 protected void onCreate(Bundle savedInstanceState) {
30 super.onCreate(savedInstanceState);
31 requestWindowFeature(Window.FEATURE_NO_TITLE);
32 setContentView(R.layout.activity_main);
33
34 lv = (ListView) findViewById(R.id.lv);
35
36 mMyAdapter = new MyAdapter(this, -1);
37
38 lv.setAdapter(mMyAdapter);
39
40 AsyncHttpClient ahc = new AsyncHttpClient();
41 ahc.get(net_url, new TextHttpResponseHandler() {
42 // 通過網絡地址解析Json數據成String類型
43 @Override
44 public void onSuccess(int arg0, Header[] arg1, String arg2) {
45 // 從字符串中解析json文件
46 Gson gson = new Gson();
47 Infoall infoall = gson.fromJson(arg2, Infoall.class);
48 Info info = infoall.getInfo();
49 List<MerchantKey> mMerchantKey = info.getMerchantKey();
50 mMyAdapter.setList(mMerchantKey);
51 }
52
53 @Override
54 public void onFailure(int arg0, Header[] arg1, String arg2, Throwable arg3) {
55
56 Toast.makeText(getApplicationContext(), "錯誤!", 0).show();
57 }
58 });
59
60 }
61
62 private class MyAdapter extends ArrayAdapter {
63 private LayoutInflater flater;
64 private List<MerchantKey> data = new ArrayList<MerchantKey>();
65 private Context context;
66
67 public MyAdapter(Context context, int resource) {
68 super(context, resource);
69 this.context = context;
70 flater = LayoutInflater.from(context);
71 }
72
73 public void setList(List<MerchantKey> data) {
74 this.data = data;
75 mMyAdapter.notifyDataSetChanged();
76 }
77
78 @Override
79 public View getView(int position, View convertView, ViewGroup parent) {
80 if (convertView == null)
81 convertView = flater.inflate(R.layout.list, null);
82 TextView biaoti = (TextView) convertView.findViewById(R.id.list_name_txt);
83 biaoti.setText(data.get(position).getName());
84 TextView biaoti2 = (TextView) convertView.findViewById(R.id.list_coupe_txt);
85 biaoti2.setText(data.get(position).getCoupon());
86
87 TextView dizhi = (TextView) convertView.findViewById(R.id.list_location_txt);
88 dizhi.setText(data.get(position).getLocation());
89
90 TextView juli = (TextView) convertView.findViewById(R.id.list_distance_txt);
91 juli.setText(data.get(position).getDistance());
92
93 ImageView jpg = (ImageView) convertView.findViewById(R.id.list_icon_img);
94 Picasso.with(context).load(data.get(position).getPicUrl()).into(jpg);
95
96 ImageView tuan = (ImageView) convertView.findViewById(R.id.list_group_img);
97 ImageView quan = (ImageView) convertView.findViewById(R.id.list_ticket_img);
98 ImageView ka = (ImageView) convertView.findViewById(R.id.list_card_img);
99
100 if (data.get(position).getGroupType().equals("YES")) {
101 tuan.setVisibility(View.VISIBLE);
102 } else {
103 tuan.setVisibility(View.GONE);
104 }
105 if (data.get(position).getCardType().equals("YES")) {
106 ka.setVisibility(View.VISIBLE);
107 } else {
108 ka.setVisibility(View.GONE);
109 }
110 if (data.get(position).getCouponType().equals("YES")) {
111 quan.setVisibility(View.VISIBLE);
112 } else {
113 quan.setVisibility(View.GONE);
114 }
115
116 return convertView;
117
118 }
119
120 @Override
121 public int getCount() {
122
123 return data.size();
124 }
125
126 }
127
128 }
1 package com.lixu.testjsonall;
2
3 import java.util.List;
4
5 public class Info {
6 private List<MerchantKey> merchantKey;
7
8 public List<MerchantKey> getMerchantKey() {
9 return merchantKey;
10 }
11
12 public void setMerchantKey(List<MerchantKey> merchantKey) {
13 this.merchantKey = merchantKey;
14 }
15
16 }
1 package com.lixu.testjsonall;
2
3 public class Infoall {
4
5 private Info info;
6
7 public Info getInfo() {
8 return info;
9 }
10
11 public void setInfo(Info info) {
12 this.info = info;
13 }
14
15 }
1 package com.lixu.testjsonall;
2
3 public class MerchantKey {
4 private String name;
5 private String coupon;
6 private String location;
7 private String distance;
8 private String picUrl;
9 private String couponType;
10 private String cardType;
11 private String groupType;
12
13 public String getName() {
14 return name;
15 }
16
17 public void setName(String name) {
18 this.name = name;
19 }
20
21 public String getCoupon() {
22 return coupon;
23 }
24
25 public void setCoupon(String coupon) {
26 this.coupon = coupon;
27 }
28
29 public String getLocation() {
30 return location;
31 }
32
33 public void setLocation(String location) {
34 this.location = location;
35 }
36
37 public String getDistance() {
38 return distance;
39 }
40
41 public void setDistance(String distance) {
42 this.distance = distance;
43 }
44
45 public String getPicUrl() {
46 return picUrl;
47 }
48
49 public void setPicUrl(String picUrl) {
50 this.picUrl = picUrl;
51 }
52
53 public String getCouponType() {
54 return couponType;
55 }
56
57 public void setCouponType(String couponType) {
58 this.couponType = couponType;
59 }
60
61 public String getCardType() {
62 return cardType;
63 }
64
65 public void setCardType(String cardType) {
66 this.cardType = cardType;
67 }
68
69 public String getGroupType() {
70 return groupType;
71 }
72
73 public void setGroupType(String groupType) {
74 this.groupType = groupType;
75 }
76
77 }
xml文件:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 tools:context="com.lixu.testjsonall.MainActivity" > 7 8 <LinearLayout 9 android:layout_width="match_parent" 10 android:layout_height="wrap_content" 11 android:background="@drawable/title_log" 12 android:orientation="horizontal" > 13 14 <ImageView 15 android:id="@+id/fanhui" 16 android:layout_width="30dp" 17 android:layout_height="30dp" 18 android:layout_gravity="center" 19 android:src="@drawable/btn_back" /> 20 21 <TextView 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:layout_gravity="center" 25 android:text=" 我的關注" 26 android:textSize="25sp" /> 27 </LinearLayout> 28 29 <ListView 30 android:id="@+id/lv" 31 android:layout_width="match_parent" 32 android:layout_height="match_parent" /> 33 34 </LinearLayout>
Android開發2:事件處理及實現簡單的對話框,android開發
Android開發2:事件處理及實現簡單的對話框,android開發 前言 啦啦啦~又要和大家一起學習Android開發啦,博主心裡好激動哒~ 在上篇
Android學習指南之三十九:Android語音識別編程初步
語音識別是一項讓人感興趣的功能,而且它是語音搜索等功能的基礎,Android開
Android--ListView下拉刷新,android--listview
Android--ListView下拉刷新,android--listview整理了下以前寫的小項目,ListView的下拉刷新,雖然小但還是想紀念下。。適合新手看,大神
Android系統 應用圖標顯示未讀消息數(BadgeNumber) 桌面app圖標的角標顯示
Android系統 應用圖標顯示未讀消息數(BadgeNumber) 桌面app圖標的角標顯示 Android系統 小米,三星,索尼手機發送桌面快鍵提醒數字圖標,在