代码列表:
MainActivity.class:
package com.example.yuekao_one_try; import java.util.List; import com.example.vo.Item; import com.example.vo.Root; import com.google.gson.Gson; import com.thoughtworks.xstream.XStream; import android.os.AsyncTask; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.GridView; import android.widget.ListView; public class MainActivity extends Activity { private String URL = "http://apis.juhe.cn/goodbook/catalog?key=9d6ef8c31647a206e05fcaff70527182&dtype=xml"; private ListView list_view; private List<Item> list; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list_view=(ListView) findViewById(R.id.list_view); new Thread(){ public void run() { new Asyn().execute(URL); }; }.start(); } private class Asyn extends AsyncTask<String, Integer, String>{ private String s; protected String doInBackground(String... params) { // TODO Auto-generated method stub s=Networkutil.httpol(URL); return s; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub XStream xStream=new XStream(); xStream.processAnnotations(Root.class); Root root=(Root) xStream.fromXML(result); List<Item> list=root.getResult().getItem(); Mybase base=new Mybase(list, getApplicationContext()); list_view.setAdapter(base); } } }
NetworkUtil.class:
package com.example.yuekao_one_try; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.params.HttpClientParams; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.util.EntityUtils; import android.os.DeadObjectException; public class Networkutil { public static String httpol(String url){ String result=""; HttpGet httpGet=new HttpGet(url); //设置请求参数 HttpParams parmars=new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(parmars, 5000); // HttpConnectionParams.setSoTimeout(parmars, 5*100); HttpClient httpClient=new DefaultHttpClient(parmars); try { HttpResponse httpResponse=httpClient.execute(httpGet); int len=httpResponse.getStatusLine().getStatusCode(); if(len==200){ HttpEntity httpEntity=httpResponse.getEntity(); result=EntityUtils.toString(httpEntity, "utf-8"); } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; } }
vo类:
Root.class:
package com.example.vo; import com.thoughtworks.xstream.annotations.XStreamAlias; @XStreamAlias("root") public class Root { private String resultcode; private String reason; private Mylist result; private String error_code; public String getResultcode() { return resultcode; } public void setResultcode(String resultcode) { this.resultcode = resultcode; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } public Mylist getResult() { return result; } public void setResult(Mylist result) { this.result = result; } public String getError_code() { return error_code; } public void setError_code(String error_code) { this.error_code = error_code; } }
Mylist.class:
package com.example.vo; import java.util.List; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamImplicit; @XStreamAlias("result") public class Mylist { @XStreamImplicit(itemFieldName="item") private List<Item> item; public List<Item> getItem() { return item; } public void setItem(List<Item> item) { this.item = item; } }
Item.class:
package com.example.vo; import com.thoughtworks.xstream.annotations.XStreamAlias; @XStreamAlias("item") public class Item { private String id; private String catalog; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCatalog() { return catalog; } public void setCatalog(String catalog) { this.catalog = catalog; } }