資源描述:
《listview加載網絡數據和圖片》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、ListView加載網絡數據和圖片如,從服務器端獲得商品名稱、價格、簡介和圖片,加載到AndroidListView中。又如加載微博內容。需了解熟悉:1、ListView行布局,排版,getView方法這個案例可以說是實現ListView圖文混排的網絡版。關于在ListView中實現排版的方法,參考:2、異步任務的實現,Handler+Thread,AsyncTask3、JSON解析方式實現思路:1、異步加載服務器訪問商品數據(json格式)封裝網絡訪問的方法2、json數據轉為Adapter數據(List
2、Adapter先加載文本內容信息使用AsyncTask加載網絡訪問的集合數據加載ListView中的文本信息4、json數據中有圖片信息(路徑),異步讀取加載圖片采用接口回調的方法,加載圖片信息(Handler+Thread)publicclassHttpUtil{publicstaticfinalStringBASE_URL="http://10.0.2.2:8080/jsontest/servlet/ProductServlet";publicstaticfinalStringIMG_URL="http://10.0.2.2:8080/jsontest/upload
3、/";publicstaticHttpClienthttpClient=newDefaultHttpClient();//post方法訪問服務器,返回json字符串publicstaticStringgetRequest(Stringurl){Stringresult=null;HttpGethttpGet=newHttpGet(url);try{HttpResponsehttpResponse=httpClient.execute(httpGet);if(httpResponse.getStatusLine().getStatusCode()==200){result
4、=EntityUtils.toString(httpResponse.getEntity(),"utf-8");}}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnresult;}//字符串轉成集合數據publicstaticvoidresultString2List(List
5、rayjsonArray=jsonObject.getJSONArray(title);for(inti=0;imap=newHashMap();Iteratoriterator=jsonObject2.keys();while(iterator.hasNext()){Stringkey=iterator.next();Objectvalue=
6、jsonObject2.get(key);map.put(key,value);}list.add(map);}}catch(JSONExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}//post方法訪問服務器,返回集合數據publicstaticList
7、);resultString2List(list,url,title);returnlist;}//get方法訪問服務器,返回json字符串publicstaticStringpostRequest(Stringurl,MaprawParams)throwsException{HttpPostpost=newHttpPost(url);Listparams=newArrayList();for(Stringkey:rawParams.keySet()