package com.bwie.yuekao;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import org.xmlpull.v1.XmlPullParserFactory;import com.bwie.type.Types;import android.app.Activity;import android.content.Intent;import android.os.AsyncTask;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;public class MainActivity extends Activity {    private List<Types> types=null;    private Types type=null;    private ListView listView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listView=(ListView) findViewById(R.id.list_main);        new MyAsycnack().execute();    }    public class MyAsycnack extends AsyncTask<String, Integer, InputStream>{        @Override        protected InputStream doInBackground(String... params) {            // TODO Auto-generated method stub            InputStream inputStream = null;            try {                URL url=new URL("http://apis.juhe.cn/goodbook/catalog?key=9d6ef8c31647a206e05fcaff70527182&dtype=xml");                HttpURLConnection connection=(HttpURLConnection) url.openConnection();                connection.setRequestMethod("GET");                connection.setReadTimeout(5000);                connection.setConnectTimeout(5000);                connection.connect();                if(connection.getResponseCode()==200){                    Log.i("aaa", 123+"0");                    inputStream = connection.getInputStream();                    Log.i("aaa", inputStream.toString());                }            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            return inputStream;        }        @Override        protected void onPostExecute(final InputStream result) {            // TODO Auto-generated method stub            super.onPostExecute(result);            getXmlString(result);        }    }    public void getXmlString(InputStream stream){        try {            String tagName="";            XmlPullParserFactory pullFactory = XmlPullParserFactory.newInstance();            XmlPullParser parser = pullFactory.newPullParser();            parser.setInput(stream, "UTF-8");            int eventType = parser.getEventType();            while(eventType!=XmlPullParser.END_DOCUMENT){                switch (eventType) {                case XmlPullParser.START_DOCUMENT:                    types=new ArrayList<Types>();                    break;                case XmlPullParser.START_TAG:                    tagName=parser.getName();                    if(tagName.equals("item")){                        type=new Types();                    }                    if(tagName.equals("catalog")){                        type.setType(parser.nextText());                    }else if(tagName.equals("id")){                        type.setId(parser.nextText());                    }                    break;                 case XmlPullParser.END_TAG:                    if(parser.getName().equals("item")){                        types.add(type);                        Log.i("aaa", types.toString());                    }                    tagName="";                    List<String> list=new ArrayList<String>();                    for(int i=0;i<types.size();i++){                      list.add(types.get(i).getType());                    }                    ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,R.layout.list_type,R.id.tv_type,list);                    listView.setAdapter(adapter);                    listView.setOnItemClickListener(new OnItemClickListener() {                        @Override                        public void onItemClick(AdapterView<?> parent,                                View view, int position, long id) {                            // TODO Auto-generated method stub                            Intent intent=new Intent(MainActivity.this,DetailActivity.class);                            intent.putExtra("id", types.get(position).getId());                            startActivity(intent);                        }                    });                    break;                }                eventType = parser.next();            }        } catch (XmlPullParserException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android启动模式总结
  2. android 设置静态wifi地址
  3. Android消息机制 Handler
  4. Java如何操作Android的adb shell 之 我自
  5. Android GPS状态改变与监听
  6. Android(安卓)中 Retrofit 结合 RxJava使
  7. Android 软键盘小知识点
  8. (4.2.9)【android开源工具】Android(安卓)O
  9. Android 使用IPC和后台Service通信
  10. Working with Images in Google's Androi