`
guanhuaing
  • 浏览: 1193333 次
文章分类
社区版块
存档分类
最新评论

android天气预报----google开源天气API,SAX解析

 
阅读更多

最近项目不太忙,就抽空看了看天气预报,做个玩玩,上图:

转载请注明出处:

http://blog.csdn.net/dany1202/archive/2011/05/17/6426064.aspx

1.知识基础:小部件、数据库、SAX解析XML文件

2.实现说明:

google提供了天气预报的开放XML文件

http://www.google.com/ig/api?hl=zh-cn&weather=Beijing

查看如上网址,会看到界面显示一个XML文件,用SAX解析的方式获取XML文件节点内容,并将其存储到一个实体当中。

存储数据到数据库。

显示内容到小部件。

3.窗口小部件时间的实时刷新

Intent.ACTION_TIME_CHANGED 为系统时间每次发生改变的时候,发送的广播,其只能动态注册

所以在小部件的WeatherWidgetProvider.java中的onUpdate()方法中开启service,并在service中进行注册接收的广播

在WeatherWidgetProvider.java中提供静态方法public static void UpdateTime(Context context){。。。}刷新时间。

4.SAX解析,获取current_conditions节点内容

将节点对应的内容存放到CurrentEntity实体类中。

5.在天气的service中,开启线程,刷新小部件中的天气内容

6小部件对应appwidgetprovider

在onUpdate中开启两个service,一个刷新时间,一个刷新天气。定义了一个Icon的点击事件,继续起到刷新天气的功能。

onReceive中接收点击事件,找到是哪一个小部件被点击了,根据小部件的Id进行区分。

当然此小部件是需要一个配置活动的,获取用户输入的城市名,不再多帖代码了,网上例子还是蛮多的

备注:搜狐天气api接口

http://sms.sohu.com/weatherfore/getformobile.php?city=北京

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics