国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

Android:多線程之圖文!混排

2019-11-02 15:03:18
字體:
供稿:網(wǎng)友

 數(shù)據(jù)準(zhǔn)備

  本案例中的服務(wù)端數(shù)據(jù)以Json的形式傳遞,在服務(wù)端使用.Net開發(fā)一個一般處理程序,序列化一個產(chǎn)品對象,里面包含名稱、價格、圖片名稱,最后序列化成JSON格式的數(shù)據(jù)返回給客戶端。

  數(shù)據(jù)如下

1 [{"imageName":"image1.png","name":"蘋果","price":12},2 {"imageName":"image2.png","name":"鬧鐘","price":56},3 {"imageName":"image3.png","name":"蛋糕","price":24},4 {"imageName":"image4.png","name":"零錢包","price":8},5 {"imageName":"image5.png","name":"書本","price":42},6 {"imageName":"image6.png","name":"糖果","price":16},7 {"imageName":"image7.png","name":"西瓜","price":2}]

  本案例的URL地址均使用一個CommonUri類進(jìn)行管理:

1 package com.example.handlerimageortext;2 3 public class CommonUri {4     // 訪問服務(wù)器數(shù)據(jù)的鏈接5     public static final String PRODUCT_URL = "http://192.168.1.102:1231/json/returnCommondityJson.ashx";6     // 圖片的連接7     public static final String PRODUCT_IMG="http://192.168.1.102:1231/json/img/";8 }

  

使用AsyncTask獲取Json數(shù)據(jù)

  在UI線程中,使用AsyncTask的方式訪問網(wǎng)絡(luò)獲取JSON數(shù)據(jù),并對其進(jìn)行解析

 1     public class MyTask extends AsyncTask<String, Void, List<Map<String,Object>>>{ 2         @Override 3         protected void onPreExecute() { 4             super.onPreExecute(); 5             // 顯示對話框 6             dialog.show(); 7         } 8          9         @Override10         protected List<Map<String, Object>> doInBackground(String... params) {11             List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();12             try {13                 // 獲取網(wǎng)絡(luò)JSON格式數(shù)據(jù)14                 HttpClient httpClient=new DefaultHttpClient();15                 HttpPost httpPost=new HttpPost(params[0]);16                 HttpResponse httpResponse=httpClient.execute(httpPost);17                 if(httpResponse.getStatusLine().getStatusCode()==200){18                     String jsonString=EntityUtils.toString(httpResponse.getEntity(),"utf-8");19                     // 解析Json格式數(shù)據(jù),并使用一個List<Map>存放20                     JSONArray jsonArray=new JSONArray(jsonString);21                     for(int i=0;i<jsonArray.length();i++){22                         JSONObject jsonObject=jsonArray.getJSONObject(i);23                         Map<String,Object> map=new HashMap<String, Object>();24                         map.put("name",jsonObject.get("name"));25                         map.put("price",jsonObject.get("price"));26                         map.put("imageName",jsonObject.get("imageName"));27                         list.add(map);28                     }29                 }30             } catch (Exception e) {31                 e.printStackTrace();32             }33             return list;34         }35         @Override36         protected void onPostExecute(List<Map<String, Object>> result) {37             super.onPostExecute(result);38             // 把查詢到的數(shù)據(jù)傳遞給適配器39             adapter.setData(result);40             // 為ListView設(shè)定適配器41             listview.setAdapter(adapter);42             adapter.notifyDataSetChanged();43             // 隱藏對話框44             dialog.dismiss();45         }        46     }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南川市| 铜山县| 江源县| 五常市| 清原| 绥芬河市| 古交市| 隆子县| 东阳市| 新沂市| 阿拉善左旗| 文成县| 古田县| 靖边县| 改则县| 盐亭县| 江永县| 密云县| 柳州市| 宁阳县| 墨江| 定远县| 阳新县| 天全县| 榆社县| 霍邱县| 盐城市| 册亨县| 岐山县| 重庆市| 盘山县| 莒南县| 荔波县| 泰来县| 顺平县| 瑞丽市| 从化市| 长阳| 吉水县| 怀集县| 慈溪市|