从网络上获取数据并将数据展示到listview列表界面上是非常常用的一个功能。
可以分为以下几个方面:
(1)通过网络加载数据流
(2)将数据利用xml序列化到内存
(3)通过handler传递数据开始准备更新主界面
(4)使用adapter设置listview数据
1.1 创建一个httpclient new DefaultHttpClient();
1.2 执行client.execute()
1.3 参数 返回值 HttpGet get = new HttpGet("http://
1.4 根据返回值,response.getEntity().getContent();读取数据流
2.1 创建一个xml的pull解析器 Xml.newPullParser()
2.2 指明解析对象和解码方式parser.setInput(is, "utf-8");
2.3 获取xml文件事件驱动类型parser.getEventType(); 调用while便利其中所有数据。根据xml文件格式,确定什么时候创建对象,什么时候把对象添加到list中。
注意图片解析出的是url地址。
3.1 handler发送:设置属性
if(mlist != null) {
msg.what = SUCCESS;
msg.obj = mlist;
} else {
msg.what = FAILED;
}
3.2 handler接收数据,根据what类型初始化adapter数据
4.1 public int getCount() 设置adapter方法,listview个数
4.2 public View getView(int position, View convertView, ViewGroup parent)
复用convertView,加载xml文件,根据id寻找到xml文件中的控键,更新每个子listview中的内容。