文档详情

ListView加载网络数据和图片(补足六个汉字).doc

发布:2018-12-24约6.6千字共8页下载文档
文本预览下载声明
ListView加载网络数据和图片 如,从服务器端获得商品名称、价格、简介和图片,加载到Android ListView中。又如加载微博内容。 需了解熟悉: 1、ListView行布局,排版,getView方法 这个案例可以说是实现ListView图文混排的网络版。关于在ListView中实现排版的方法,参 考:HYPERLINK /ppy2790@126/blog/static/1032422412013731115643829/ 2、异步任务的实现,Handler+Thread , AsyncTask 3、JSON解析方式 实现思路: 1、异步加载服务器访问商品数据(json格式) 封装网络访问的方法 2、json数据转为Adapter数据(ListMapString,Object) 封装数据转换的方法 3、Adapter先加载文本内容信息 使用AsyncTask加载网络访问的集合数据 加载ListView中的文本信息 4、json数据中有图片信息(路径),异步读取加载图片 采用接口回调的方法,加载图片信息(Handler+Thread) public class HttpUtil { public static final String BASE_URL = HYPERLINK :8080/jsontest/servlet/ProductServlet:8080/jsontest/servlet/ProductServlet; public static final String IMG_URL = HYPERLINK :8080/jsontest/upload/:8080/jsontest/upload/; public static HttpClient httpClient = new DefaultHttpClient(); // post方法访问服务器,返回json字符串 public static String getRequest(String url){ String result = null; HttpGet httpGet = new HttpGet(url); try { HttpResponse httpResponse = httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { result = EntityUtils.toString(httpResponse.getEntity(),utf-8); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; } // 字符串转成集合数据 public static void resultString2List(ListMapString ,Object list, String str,String title) { try { JSONObject jsonObject = new JSONObject(str); JSONArray jsonArray = jsonObject.getJSONArray(title); for (int i = 0; i jsonArray.length(); i++) { JSONObject jsonObject2 = jsonArray.getJSONObject(i); MapString ,Object map = new HashMapString, Object(); IteratorString iterator = jsonObject2.keys(); while (iterator.hasNext()) { String key = iterator.next(); Object value = jsonObject2.get(key); map.put(key, value); } list.add(map); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // post方法访问服务器,返回集合数据 public static ListMapString,Object getRequest2List(String url,String title){ ListMapString,Object li
显示全部
相似文档