- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章 案例分析:RSS阅读器的设计与实现 本章学习目标 学会全屏显示欢迎界面 掌握SAX解析XMl的过程 了解匿名内部类的使用方法 掌握Handler的使用方法 14.1 软件功能介绍 本软件是将下载下来的xml进行解析——即将其中的有效内容提取出来 。 RSS阅读器有一个欢迎界面,这时SAX解析器获得资源链接,读取Title标签中的内容,放到ListView中,界面则显示从欢迎界面跳转到一个列表,在每个列表单元中添加单击事项,单击显示二级页面,此时提取titledescriptionlinkpubdate的内容,显示在二级页面中,在一级页面中,单击menu按钮有“刷新”的子按钮,有效的避免了因网络或者解析失败而无法显示。由于这是个需要访问互联网的程序,在一级页面中,如果用户没有打开互联网的网络链接,因此利用toast进行提示,引导用户设置,给用户一个良好的体验。 14.2 SAX及其使用 SAX,全称Simple API for XML,既指一种接口(是事件驱动型XML解析的一个标准接口),也指一个软件包。 SAX最初是由David Megginson采用Java语言开发的,之后SAX很快在Java开发者中流行起来。SAX没有语言开发商必须遵守的标准SAX参考版本。因此,SAX的不同实现可能采用区别很大的接口 。 文档解析主要步骤如下: 创建SAXParserFactory的实例; 创建 SAXParser的实例; 创建 SAXParserHandler类; 使用 parse()方法解析XML文档; 14.3 欢迎界面的设计与实现 使用匿名内部类将intent和timer的具体方法定义在外部 在内部类中直接调用其对象 14.4 网络文件的解析 14.4.1 主界面的布局和实现 首先设定资源链接为路透资讯,可以在此基础上进行更多的扩展,这个Activity里有两个TextView和一个Listview,两个TextView分别显示“程序欢迎”和“feedtitle”,ListView则显示每一条新闻的title,在menu中设置“刷新”和“关于”按钮,刷新用于XML文档的重解析,这里生成一个SAXParserFactory的工程,通过SAXParser将title提取出来,经过xmlreader返回。 如果用户没有网络连接,造成获取失败,设置返回值为null,这里有toast提示,这里提示“请确保您已经连接到有效的网络”,另外建立一个Bundle对象b,将title,pubdate,description存入,以便传入的到二级页面中。 14.4.2 二级界面的布局和实现 页面布局取自showdescription.xml,包含一个TextView和一个Button,Text用于显示单条item的title,description,pubdate,link,Button用于返回主界面,新建String类型的theStory用于存放上b中已经传入的数据,然后将theStory显示出来。返回按钮单击则“销毁“二级页面的Activity。 14.4 网络文件的解析 14.4 网络文件的解析 14.4.3 解析器回调函数 在RSShandler.Java中,由于Handler运行在主线程中(UI线程中),它与子线程可以通过Message对象来传递数据,这时Handler就承担着接受子线程传过来的Message对象,把这些消息放入主线程队列中,配合主线程进行更新UI。 需要构造RSSHandler,获得Feed和item,将它们返回,startElement中则写明了各个元素,如channel、title、item、description、link等,就是创建SAX解析器的Handler类,有具体startDocument、startElement和endElement、endDocument等,其中Characters声明在StartElement函数中。 Handler运行在主线程中(UI线程中) 它与子线程可以通过Message对象来传递数据 这时Handler就承担着接受子线程传过来的Message对象 把这些消息放入主线程队列中 配合主线程进行更新UI。
您可能关注的文档
- AutoCAD 2010实训教程第四章 典型图形绘制.ppt
- AutoCAD 2010实训教程第三章 基本图形绘制和编辑.ppt
- AutoCAD 2010实训教程第七章 参数化设计及实用工具.ppt
- AutoCAD 2010实训教程第六章 尺寸引线及公差.ppt
- AutoCAD 2010实训教程第九章 实训练习.ppt
- AutoCAD 2010实训教程第二章 绘图流程.ppt
- AutoCAD 2010实训教程第八章 打印和输出.ppt
- AutoCAD 2010计算机辅助设计立体化教程第14章.ppt
- AutoCAD 2010计算机辅助设计立体化教程第13章.ppt
- AutoCAD 2010计算机辅助设计立体化教程第12章.ppt
文档评论(0)