首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

小弟我的一个Android练习应用

2012-09-17 
我的一个Android练习应用昨日看书,发现了一个不错的练习应用。是一个天气预报的查询,我认为这个应用考察点

我的一个Android练习应用
昨日看书,发现了一个不错的练习应用。
是一个天气预报的查询,我认为这个应用考察点还算比较全面。
打起精神,试着一做。昨日下午到刚才,基本上是做完了。
为了避免自己忘记写这个应用中的一些收获,遂姑且写入博客。
既然发表在了博客,就不免被各位达人或围观或小觑。
欢迎大家指点。

首先介绍一下这个应用,其实很简单:
首先从一个url获取描述天气信息的xml文件,之后解析,最后展示的UI。
该url为google提供:http://www.google.com/ig/api?hl=zh_cn&weather=需要查询的城市。

因为是自己的练习之作,所以根据自身情况加了一些东西。
有以下几点:
1,前台使用Spinner展示可供查询的城市列表。(未使用EditText)
2,Spinner所需数据(城市列表的字符串数组),由SharedPreferences读取。
3,用startActivityForResult,调用另一个Activity进行数据的初始化。这么做也许是没必要的,关键是为了再熟悉下Activity之间的数据传递。
4,查询天气时,没有进行Activity的跳转,而是使用了setContentView改换布局文件,用于显示查询结果。
6,展示信息的界面,用代码编写,未用xml布局文件。(也为练习用,熟悉多种方式)
5,xml解析,用DOM解析。

在做这个应用时遇到了以下几个问题,有必要记下来:
1,xml解析时,因为xml文件是以流的形式读取。而Google提供的这篇xml却没声明文件的编码类型。导致获取Document对象时,因为不能解析而出现异常。
我想到了这是由于流的编码问题造成的,于是想办法,希望给流设置一个编码集。
最后采用的是这个方法:

//必须先设置了布局,才能findViewById,否则因为没有对应的布局文件而找不到context.setContentView(R.layout.main);//利用setContentView切换页面,需要重新设置监听,代码是相同的context.setOnclick(context);context.setSpinner(context);

热点排行