我主要是获得item下的title、link、pubDate、description的内容,rss阅读器最核心的是解析rss文件,其实就是解析xml文件。现在流行的有三种解析xml的方式,DOM、SAX、Pull。关于DOM和SAX的解析方式完全不同,DOM是基于文档,而SAX是基于事件驱动的,再移动设备上最好是选择SAX方式,网上有很多关于这方面的资料,读者可以自己去查阅,XmlPullParser和SAX原理差不多,但是更简单。这里采用XmlPullParser方式。解析Rss我主要用到三个类,XmlPullParserUtil.java,RSSFeed.java,RSSItem.java,XmlPullParserUtil是解析RSS文件用的,RSSFeed和RSSItem用来存储解析得到的数据。RSSFeed和一个完整的RSS文件相对应,RSSItem和RSS文件里的item标签相对应。
下面是RSSFeed.java的源码
下面是RSSItem.java的源码
下面是XmlPullParser.java的源码
以上是该rss阅读器的核心代码,关于android UI的代码由于篇幅就不贴上来了。
通过该项目掌握的知识点:1)RSS的文件结构和含义
2)解析xml文件的几种方式
3)android应用的结构和MVC模式
4)activity的生命周期,activity之间通过intent通信,handler消息机制,自定义ListView,LinearLayout、RelativeLayout、FrameLayout布局界面,WebView显示网页。android数据存储(SQLite3)的相关操作,菜单和对话框、Toast的使用,android的测试驱动,uses-permission权限配置等。