RSS订阅
看到这个副标题,应该大家会很容易想到我的意图是什么吧。不错,我们可以利用RSS订阅的内容完成我们内容的更新,因为RSS订阅的内容是每天可以更新的,我们只要找到与我们软件内容相关的RSS源就可以了。另外之所以联想到RSS的另外一个原因是,当我们请求RSS源地址时,服务器返回给我们的是一个XML文档,而对于XML解析我想大家应该是非常熟悉的吧,也是一个比较简单的过程,所以说呢,这样的条件得天独厚,完成我们软件的相关内容的更新不就是小菜一碟吗?整个过程其实就是相当于完成了一个RSS阅读器,只是我们是后台进行数据提取。所以下面我就简单的用一个demo给大家说明一下。我的demo是基于星座软件,可以提供每天的星座运程,所以这里我只是简单给大家演示下我获取十二个星座每天内容,然后放在textview中显示。
XML解析的设置
这一部分内容的话主要就是关于XML解析的问题,因为我们做的是手机软件内容更新,所以需要尽可能的考虑的手机的局限性,我们需要尽可能少的消耗内存,所以我建议选择SAX解析方式,关于SAX解析我想不用太多解释,大家都知道的。下面请看:
简单对以上解释下,我是用一个数组把xml中的十二个星座的运程给截取下来,运程的内容是放在节点中间,所以我查找的节点就是"description",然后在读取内容的时候我就把需要的内容放进数组中,最后再构造一个方法返回所获取的数组。然后解析方面简单的完成了。
发送请求获取资源
接下来我们需要的是向RSS源地址发送请求并得到返回的XML,然后对其进行解析:
SAX解析的初始化大家应该都是熟悉的,把打开xml文件流并开始进行解析。
多线程处理
我们知道在实际运行中为了良好的用户体验,解析过 中我们需要做双线程处理,这样才不会让用户以为假死,所以我们可以前台设置一个正在解析的Dialog,这样的话,可以让用户更好的了解更新进程,所以如下:
效果如图:

总结
虽然这种方法并不能适用于大多数应用软件的内容更新,但是对于我们这些学生开发者来说,如果想要实现一个关于内容方面的应用软件,在没有服务端的情况下,我想我们可以尝试着找到相关的RSS资源,然后借鉴这种方法达到我们想要的期望。