请求数据并xml解析
来源:互联网 发布:没有可用软件包 nginx 编辑:程序博客网 时间:2024/06/11 19:53
public class MainActivity extends Activity { private ListView lv; private ArrayList<DataBean> list=new ArrayList<DataBean>(); String path="http://v.juhe.cn/weixin/query?key=271f7c3d187e09fd414733d4e8b06e8b&dtype=xml"; private Handler mHandler=new Handler(){ public void handleMessage(Message msg) { ArrayList<DataBean> list=(ArrayList<DataBean>) msg.obj; //适配器要在handler里边用 lv.setAdapter(new MyAdapter(MainActivity.this,list)); //设置监听 jianTing(); }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取控件 lv = (ListView) findViewById(R.id.lv); //获取数据 getData(); } //监听 public void jianTing(){ //监听 lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Intent intent=new Intent(MainActivity.this,Main2Activity.class); //传递路径 intent.putExtra("url", list.get(arg2).getUrl()); startActivity(intent); } }); } //请求并解析数据 private void getData() { new Thread(){ private InputStream in; private DataBean d; public void run() { //创建HttpClient HttpClient client=new DefaultHttpClient(); //设置请求方式 HttpGet get=new HttpGet(path); try { //执行 HttpResponse response = client.execute(get); //得到一个结果码 int statusCode = response.getStatusLine().getStatusCode(); //判断这个结果码 if (statusCode==200) { //得到一个流 in = response.getEntity().getContent(); //打印 System.out.println(in); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } try { //解析 XmlPullParserFactory factory=XmlPullParserFactory.newInstance(); //创建解析器 XmlPullParser newPullParser = factory.newPullParser(); //把文件放进去,开始解析 newPullParser.setInput(in,"utf-8"); //获取一个类型 int eventType = newPullParser.getEventType(); while (eventType!=XmlPullParser.END_DOCUMENT) { String name = newPullParser.getName(); switch (eventType) { case XmlPullParser.START_TAG: if ("firstImg".equals(name)) { d = new DataBean(); d.setFirstImg(newPullParser.nextText()); }else if ("id".equals(name)) { d.setId(newPullParser.nextText()); }else if ("mark".equals(name)) { d.setMark(newPullParser.nextText()); }else if ("source".equals(name)) { d.setSource(newPullParser.nextText()); }else if ("title".equals(name)) { d.setTitle(newPullParser.nextText()); }else if ("url".equals(name)) { d.setUrl(newPullParser.nextText()); } break; case XmlPullParser.END_TAG: if ("item".equals(name)) { list.add(d); d=null; } break; default: break; } //继续下一个 eventType=newPullParser.next(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //创建message Message msg = new Message(); msg.obj=list; mHandler.sendMessage(msg); }; }.start(); }}
1 0
- 请求数据并xml解析
- 解析HTTP POST方式请求的xml数据、本地XML文件数据, 并返回JSON字符串
- url请求数据并解析
- XML请求数据和解析
- XML请求数据和解析
- jQuery实现ajax跨域请求XML数据 并解析XML元素
- ios--请求接口并解析xml
- 网络数据请求和XML 数据解析
- unity3d请求json数据并解析
- [Unity3d]u3d请求json数据并解析
- extjs前台请求json数据,并解析
- http请求返回并解析json数据
- unity请求json数据并解析
- URL请求并解析JSON数据
- Swift 网络请求数据,并解析
- http请求返回并解析json数据
- unity请求json数据并解析
- Ajax请求Servlet返回文本 json html和XML数据并解析xml及responseText和responseXML的区别
- 安全退出当前应用程序的方法_在新公司学到的第一点
- 文章标题
- java中值传递和引用传递出现区别的原因
- java集合--Stack
- hihocoder[Offer收割]编程练习赛5及参考
- 请求数据并xml解析
- yii2设置ActiveForm->dropDownList->prompt_val 真正支持下拉菜单默认值
- Http 与 Https
- Android开发-使用SharedPreferences保存数据-常用操作
- 内存泄露导致的内存溢出
- 统计文件中出现次数最多的前10个单词
- 仿ios的滚轮选择控件
- LCS算法(最长公共子序列问题)
- javaWeb开发web文件配置