android list获取某个数据,本地提供XML数据,Android端获取并解析成List集合显示

本地提供XML数据,使用 MyEclipse ,项目地址

Android端获取并解析成List集合显示,用Android Studio,项目地址

该项目在完成的过程中,所遇到的问题:

1、jstl 的 taglib 中的 uri 的设置:(需要到jar包,项目中已经导入)

以前在学Java Web 时有学到过,请按照以下路径找到对应的 url 地址(这个地址不支持EL表达式,下面告知支持EL表示的URL地址)。

图:jstl url路径

2、MyEclipse 中更改了 ListServlet.java 的包名,导致服务器启动后总是空白,无任何信息。

其实这里,右键更改了包名后,配置文件里并不会自动改变,需要在web.xml中检查配置的@H_404_71@servlet-class@H_404_71@是否正确,在这里卡得有点久,因为没有啥有价值的提示。

@H_404_71@3、在jsp页面中,想要输出的页面为xml而不是html,需要在 page 标签中设置字段contentType="text/xml"。

@H_404_71@4、Toast 需要写在UI线程中,这句很重要,以前做项目过程中没有过多的关注Toast,导致这次调试后才发现是Toast部分出了问题。

@H_404_71@ 在网络不佳或没网的时候,请求connection.getResponseCode() 出现崩溃,后来经过调试发现,它们崩溃时报IOException,调试跟踪,我将 Toast 信息写在了 catch 部分,而网络获取是写在子线程中的。

@H_404_71@还有另一个错误是,carch 的 Exception e,e 为空,而我接下来也调用了 e.printStackTrace(),需要对 e 的值加以判断。

@H_404_71@5、XML 解析时调用 parser.setInput(in,@H_404_71@“@H_404_71@UTF-8@H_404_71@”@H_404_71@); 时,总是崩溃,因跟踪进去时,它是接口,没有找到有价值的信息,网络上所是编码有误,我下载了火狐插件debug跟踪,证明网页响应编码是 UTF-8。

@H_404_71@后来通过观察日志信息,发现是因为我提前关闭了stream,查找到对应的地方,原来,是我在返回 InputStream 前已经调用了 connection.disconnect() 关闭了连接。

@H_404_71@ 另加一句:获取xml 的地址,必须是局域网的ip地址,不能是 localhost,如用 cmd 输入 ipcpnfig,就可以得到对应的局域网 ip,我的 ip 是 192.168.1.24,你的机器可能会不一样。

@H_404_71@通过这个项目,使我加深了对 xml pull 解析的理解,以及巩固子线程与主线程各自的操作范围,解决问题的能力与方式等,都得到了较大的提升。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值