本文将与你一起从零开始,做一个河北省空气质量自动发布系统的客户端,文章面向零基础的、只看过一点安卓教程的同学,对于比较基础的内容,也会用红字的链接标出,大家可以点开看详细的介绍。
其实做这个,完全是因为老爸的原因,河北的空气质量太差了,所以他决定天天根据空气质量来决定散步不散步。总是上这个网站过于复杂,于是我就有了做一个客户端的想法。下面分几步介绍关于信息获取,异步获取网络数据,数据分析,界面设计和程序逻辑等内容,下面介绍一个完整的程序是如何做出来的。
首先需要找到程序的数据源,找到从网上获得数据接口的网址。
其次,要把数据从网上的格式,转换成我们可以使用的格式。
接下来进行布局的设计,最后把数据填充到布局里,整个程序就完成了。
下面是这个系统的网站,和我做的客户端:
1、数据获取
想做这个软件我们先要有数据源,数据是河北省环境监测中心给出的,我们现在要找到它的接口。
打开网址:
http://121.28.49.85:8080/ 我们可以看到这是一个flash做的页面,而且有明显的加载过程,说明浏览器获取过数据。我们使用
HttpAnalyze或者
Smsniff来查看浏览器发送出去的数据包,当然最方便的是使用Chrome的功能。
打开Chrome --> F12 --> 选择NetWork标签 --> 打开上面的网络地址,下面会出现很多条请求的数据,我们按
Size排序后找最大的,就是我们需要的数据。如下图:
发送的请求的地址
得到的回应
如上图所示:打开网页后浏览器发送了若干条数据,其中有一条远大于其它数据的包,大小为59.75k,我们可以认为这就是数据的来源了,而我们看到它指向了网址
http://121.28.49.85:8080/datas/hour/130000.xml。在回复中,发现编码是
UTF-8的编码。 打开这个网址,我们可以看到如下图所示的XML数据:
下面我们就以上面的数据为基础,做一个客户端。
2、异步信息获取
2.1 新建一个Android项目
打开一个配置好ADT(
Android Developer Tools)的Eclipse(如果没有配置好点这个