最近项目不太忙,就抽空看了看天气预报,做个玩玩,上图:
转载请注明出处:
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=北京
分享到:
相关推荐
希望对想获得google天气预报的童靴有帮助,这里的解析只有对当天天气的解析,可以模仿后解析预报的天气。
在Android中,使用SAX和PULL解析XML,本项目中以解析天气预报为例。 详情见博客:http://blog.csdn.net/yalin18/article/details/7437752
本代码是我对博客的xml解析----------Sax解析的代码重写了,一份,给需要的朋友,做参考。
android 学习笔记1--SAX解析XML,了解下如何用sax解析xml吧
接口交互数据,通过sax解析xml。自己写的天气预报结果数据的解析。
前端开源库-sax-streamSAX流,使用SAX解析器实现的转换流
【正文】 一、XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程序都会有一个自己的服务器,我们可以向服务器提交数据,也可以从服务器获取数据。
NULL 博文链接:https://lujo20121128.iteye.com/blog/1736765
Android之SAX解析
下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...
使用sax解析从网络上获取的xml文件
Sax解析XML文件解
离线安装包,亲测可用
Android XML解析之SAX解析 简单方便的解析方法
下载xml文件在本地,然后用SaxHandler解析器进行解析数据,然后在界面显示。。
android 以SAX方式解析xml
Android SAX 解析XML SAX 解析XML(通用)
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...
XML解析四种解析方式 DOM SAX JDOM DOM4J
dom和sax解析的区别,dom的概念,sax的概念