android从网络读取xml,wemall app商城源码Android 获取XML网络数据并绑定到ListView

wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享Android 获取XML网络数据并绑定到ListView,对数据进行获取并显示代码信息,供技术员参考学习。

1、添加ListView中每一项的item

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" >

android:id="@+id/record"

android:layout_width="230dp"

android:layout_height="wrap_content" />

android:id="@+id/name"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

2、添加实体类NewsObj

public class NewsObj implements Serializable {

private String name;

private int id;

}// 省去属性get和set方法

3、添加一个类用于处理请求消息

public class NewsService {

// 解析XML数据

private static List parseXML(InputStream ins) throws Exception {

List list = new ArrayList();

NewsObj obj = null;

XmlPullParser parser = Xml.newPullParser();

parser.setInput(ins, "UTF-8");

int event = parser.getEventType();

while (event != XmlPullParser.END_DOCUMENT) {

switch (event) {

case XmlPullParser.START_TAG:

if ("news".equals(parser.getName())) {

int id = new Integer(parser.getAttributeValue(0));

obj = new NewsObj();

obj.setId(id);

} else if ("name".equals(parser.getName())) {

obj.setName(parser.nextText());

}

break;

case XmlPullParser.END_TAG:

if ("news".equals(parser.getName())) {

list.add(obj);

obj = null;

}

break;

}

event = parser.next();

}

return list;

}

// 获取最新的资讯

public static List getLastnews(String Urlpath) throws Exception {

URL url = new URL(Urlpath);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setConnectTimeout(5000);

conn.setRequestMethod("GET");

Log.i("CONN", conn.toString());

if (conn.getResponseCode() == 200) {

InputStream ins = conn.getInputStream();

return parseXML(ins);

}

return null;

}

}

4、修改MainActivity

public class MainActivity extends Activity {

private Handler handler;

private SimpleAdapter adapter;

private ListView lv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lv = (ListView) findViewById(R.id.lv);

handler = new Handler();

new Thread(runa).start();

}

private Runnable setadapter = new Runnable() {

@Override

public void run() {

lv.setAdapter(adapter);

}

};

private void SetView() {

try {

List videos = NewsService.getLastnews("http://10.0.2.2:4484/WebSite1/XMLFile.xml");

List> data = new ArrayList>();

for (NewsObj news : videos) {

HashMap item = new HashMap();

item.put("id", news.getId());

item.put("name", news.getName());

data.add(item);

}

adapter = new SimpleAdapter(getApplicationContext(), data,

R.layout.item, new String[] { "id", "name" }, new int[] { R.id.record, R.id.name });

handler.post(setadapter); // 添加一个任务到主线程的handler!!!

} catch (Exception e) {

e.printStackTrace();

}

}

private Runnable runa = new Runnable() {

@Override

public void run() {

Looper.prepare();

SetView();

}

};

}

5、添加一个web测试项

上一步中网站请求地址返回的数据如下

hello world

Livingstone

6、添加网络访问权限,运行程序

原文详情地址:http://Git.oschina.NET/zzunet...

wemall doraemonAndroid app商城详情地址:http://www.koahub.com/home/pr...

wemall官网地址:http://www.wemallshop.com

wemall 开源微商城 ,微信商城,商城源码,三级分销,微生鲜,微水果,微外卖,微订餐---专业的o2o系统

bVE6fJ?w=728&h=160

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值