非同步互動解析xml檔案

來源:互聯網
上載者:User

標籤:

代碼清單:

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;}}

 

非同步互動解析xml檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.