Android系列开发之--HttpPost请求远程XML并DOM解析

 先讲一下功能,用户输入用户名、密码后,调用HttpPost像远程计算机发送Http请求,服务器端Hibernate+Struts,容器用的Tomcat7.0,将返回一个XML给Android,其中包含登陆验证信息。

 

没有图片不是我的风格,下面上几张图片,虽然这一章的讲解事关UI的代码不多。

 

网卡异常的捕获 登陆成功的测试界面  用户名密码错误的信息

 

下面根据功能需求,讲一下代码规划,点击界面上的登陆按钮后,将开启一个通信线程,一个外在计步器设为0,当通信失败则计步器累加,计步器达到3时向用户提示网络异常。通信线程内部试用HttpPost将用户信息收集起来传给远方服务器,服务器端的代码涉及J2EE,此处不表,总之就是Hibernate+Struts+dom4j,生成了一个XML,这个XML的格式有如下两种:

1.登陆失败:

 

2.登陆成功:

 

下面是通信线程的源代码,注释很详细

 

上面那段代码主要是通信线程,通信线程获取返回值后,将产生一个Message发往handler_chk_user,下面是这个handler的代码:

 

 

 使用DOM解析XML流,并且构造一个User对象的方法如下在XMLFactory.getUserByXML这个函数中,User类是一个基本的POJO类,或者叫VO类,普通的getter&setter方法即可,此处省略,将DOM解析XML的代码贴出来:

 

 

至此完成整个HttpPost的发送请求,获取XML响应,DOM解析XML,做出UI反馈的步骤,本例的XML文档非常小,所以用DOM解析表示无鸭梨,如果XML文档很大,或者反馈给Android的XML文档只需要其中的一两个信息时,建议使用SAX解析,不过那样要编写很多消息响应函数,各有利弊。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值