基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx

上传人:小飞机 文档编号:2018857 上传时间:2022-12-31 格式:DOCX 页数:85 大小:1.52MB
返回 下载 相关 举报
基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx_第1页
第1页 / 共85页
基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx_第2页
第2页 / 共85页
基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx_第3页
第3页 / 共85页
基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx_第4页
第4页 / 共85页
基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android平台的RSS在线新闻订阅和阅读器的设计与实现.docx(85页珍藏版)》请在三一办公上搜索。

1、天津工业大学毕业设计(论文)基于Android平台的RSS在线新闻订阅和阅读器的设计与实现姓 名 - 学 院 计算机科学与软件 专 业 软件工程 指导教师 王丹丹 姚清爽 职 称 高级工程师 讲师 2012 年 6 月 1 日天津工业大学毕业设计(论文)任务书题目基于Android平台的RSS在线新闻订阅和阅读器的设计与实现学生姓名-学院名称计算机科学与软件专业班级-课题类型实际课题课题意义通过自己对Android这项新技术的了解和不断的学习,设计出一款对社会有价值的软件,不仅锻炼了自己的学习本领而且可以为以后的软件应用起到现实的效果,有时候我们学习的技术知识固然很有用,但若是不把他应用到现实

2、设计中,那知识只是知识,并没有创造出价值,假以开发出一个项目,那在此过程中不断出现的错误和解决错误的过程都是一个经验的积累,也方便以后为社会创造更多价值。任务与进度要求2012.2.20-2012.3.11 选题确认并完成开题报告、任务书的填写、提交、审核2012.3.12-2012.3.26 深入了解课题内容、需求分析、确定系统框架、熟悉开发工具2012.3.27-2012.5.3 完成课题概要设计和详细设计,代码编写、网页制作,完成系统的大部分功能,初稿完成2012.5.4-2012.5.21 进行系统调试,并在调试中进一步完善系统的各项功能,二稿完成2012.5.22-2012.6.3

3、毕业设计(论文)的审核、修改及定稿并装订2012.6.* 答辩主要参考文献 1 google公司的Android中文文档EB/OLxwenku.baidux/view/6f28995f804d2b160b4ec005.html 2李晓莹EDGE-增强型GSM的演进数据业务介绍J.通信世界3百度文库-Google Android 手机应用开发。xwenku.baidux/view/d789e1ee5ef7ba0d4a733b1e.html4论坛社区- RSS阅读器设计要领之所见一二xbbs.hiapkx/thread-337178-1-1.html起止日期2012年2月27日至2012年6月*日

4、备注院长 教研室主任 指导教师 毕业设计(论文)开题报告表 2012年3月5日姓名-学院计算机科学与软件专业软件工程班级-题目基于Android平台的RSS在线新闻订阅和阅读器的设计与实现指导教师一导 二导一、 与本课题有关的国内外研究情况 Android 是一种在移动市场中迅速获得广泛关注的平台。甚至在配备了 Android 的消费型设备出现之前,许多开发人员就已纷纷投入到这一移动市场,希望为即将出现的、备受期待的 Android 式设备做好准备。诸如 Android 这样的富设备(Rich device)要求提供内容。某些情况下,内容的表现形式为游戏或一个生产力应用程序。然而,除了移动电子

5、邮件外,最能够驱动数据使用的内容是新闻和信息。这种内容可能看上去类似于与特定金融市场有关的新闻,或者是天气预报这种比较普遍的信息。对于周末想到海边度假的人,自然十分关心天气预报。于是,以一种简单、实用的方式从移动设备获取数据成为了摆在人们面前的一道难题。Android 包含了 WebKit.org 浏览器引擎,这意味着它可以向移动用户交付高质量的浏览器体验。然而,对于一个小型屏幕和有限的输入设备,在多个 Web 站点中查找新闻和消息是非常乏味的事情。不要误会,自从出现 WAP 浏览器和有限的基于文本的信息以来,这一市场已经得到了长足的发展,然而,移动信息的价值在于:输入 RSS 提要时一眼就可

6、以判断出它是否可用。RSS 是 “Really Simple Syndication” 的缩写。实际上,RSS 是一种分布感兴趣的信息的方便方法。RSS 支持 XML 数据;数据包含完整信息源的简单摘要。如果对这些摘要该兴趣,用户可以进一步获取信息并获得全部内容。二、 课题研究的主要内容1.用户打开软件(根据设备号自动登录个人账户,加载用户的个人中心,加载用户的RSS目录)2.添加,删除,修改和浏览RSS分类(如添加体育类,生活类,删除文学类等) Q0 T2 D. 0 m; y0 Y3.添加,删除,修改和浏览RSS(如体育类中,添加网易体育,删除腾讯体育,浏览网易体育新闻): e( L0 U7

7、 C/ W% Q1 O; w4.手动刷新获取最新新闻(在获取新闻时有记录过updatetime,可手动更新当前最新新闻。); # F$ z8 $ c Y$ u4 ?0 s5.标识新闻已读/未读(在浏览RSS时,已读新闻会被做过标记,也可自行修改为已读/未读)5 r, E% m- t3 b8 r l( W* 6.阅读新闻(根据用户选择的RSS目录,可解析出源地址所表示的xml文件,用户可阅读新闻)0 M1 1 j- R( p7.删除新闻或标记已读新闻(获取到的新闻列表中,若是有用户不喜欢的则可以自行删除或标记) f2 J0 I0 J4 i& 8.精彩RSS推荐; b) E* A1 N( 9 O4

8、 l6 u9.收藏新闻和分享(用户对于自己喜爱的新闻栏目可以收藏到个人中心里面,或分享到微博/社区)三、 课题研究的主要的目的和意义通过自己对Android这项新技术的了解和不断的学习,设计出一款对社会有价值的软件,不仅锻炼了自己的学习本领而且可以为以后的软件应用起到现实的效果,有时候我们学习的技术知识固然很有用,但若是不把他应用到现实设计中,那知识只是知识,并没有创造出价值,假以开发出一个项目,那在此过程中不断出现的错误和解决错误的过程都是一个经验的积累,也方便以后为社会创造更多价值。四、 本次毕业设计应达到的目标 说明目前随着移动市场越来越火爆,用户对于移动设备的要求也越来越高,更多的人通

9、过移动设备来获取想要的信息,而网络是一个茫茫大海,用户想阅读新闻的时候,有一款属于自己的新闻管理器,不要如大海捞针一般去搜寻信息,打开RSS阅读器,全是自己订阅的新闻类,都是自己想要的信息,而且随时更新,以保证新闻的及时性,将大大提高用户的效率,而且会受到广大用户的热烈欢迎。二、进度及预期结果:起止日期主要内容预期结果2012.2.20-2012.3.112012.3.12-2012.3262012.3.27-2012.5.32012.5.4-2012.5.212012.5.22-2012.6.102012.6.*选题确认并完成开题报告、任务书的填写、提交、审核深入了解课题内容、需求分析、确定

10、系统框架、熟悉开发工具完成课题概要设计和详细设计,代码编写、网页制作,完成系统的大部分功能,初稿完成进行系统调试,并在调试中进一步完善系统的各项功能,二稿完成毕业设计(论文)的审核、修改及定稿并装订答辩完成完成完成完成完成完成完成课题的现有条件硬件:操作系统:Windrows7 CPU:Pentium Dual-Core CPU E5300 x 2.60GHz 内存:2GB 运行设备:AVD模拟器/Andorid平台的MOTO(MZ606)软件:eclipse3.4版本 JDK 3.4版本参考文献:1 google公司的Android中文文档EB/OLxwenku.baidux/view/6f

11、28995f804d2b160b4ec005.html 2李晓莹EDGE-增强型GSM的演进数据业务介绍J.通信世界3百度文库-Google Android 手机应用开发。xwenku.baidux/view/d789e1ee5ef7ba0d4a733b1e.html4论坛社区- RSS阅读器设计要领之所见一二xbbs.hiapkx/thread-337178-1-1.html审查意见指导教师: 一导 二导(手写签字) 年 月 日学院意见主管领导: 年 月 日摘 要随着科技的不断发展与3G网络时代的到来,信息量越来越大,这要求人们不断的摄取信息来充实自己。本款Android新闻阅读器刚好满足了

12、人们对信息量的需求。 本款软件是根据Google Android 平台用户的喜好和其平台的特性而设计的,利用Java语言和Eclipse,结合目前使用广泛的Rss(Really Simple Syndication)技术,以及XML文件解析来开发RSS阅读器。在参阅相关资料下,选择了RSS作为新闻阅读器数据的来源;通过与其他解析算法的比较得出解析RSS源的算法SAX解析。本文概括的介绍了Google Android 开发的流程,并重点的介绍了基于Google Android 平台的RSS在线新闻订阅和阅读器的开发过程。首先根据谷歌电子市场的数据,对给予Android平台的新闻阅读器做了需求分析

13、。接下来,从各大论坛和网站,搜取用户体验较好的RSS源,作为用户订阅的目标。在数据准备完成后,通过对用户的调查,设计自己的UI,在此过程中不仅调用了Android系统的控件,还自定义了一些控件以提高用户的体验。在界面设计完成后,开始开发自己的系统,在本文中,着重从本款软件的特色介绍出发,简单的介绍了用户可以异地登陆,从服务器端获取自己喜欢的订阅;在用户没有网络可连接的情况下,离线模式阅读;在用户有自己喜欢的阅读的时候,收藏或与好友一起分享。最后在完成了这一系列的开发之后,进行了大量的测试,以发现本软件的不足而改进。 关键词:Google Android阅读器;RSS新闻;Sax算法解析Abst

14、ractWith the continuous development of science and technology and 3G network era, the social competition is increasingly fierce, increasing the amount of information, which requires a constant intake of information to enrich themselves. People can understand and obtain the required information anyti

15、me, anywhere. In this case, from the major site of Ling Lang everywhere access to the information they want, this subsection Android news reader just to satisfy peoples needs on the amount of information. This software is designed according to the preferences of the users of the Google Android platf

16、orm and the features of its platform, the Java language and Eclipse, combined with the widely used Rss (Really Simple Syndication), and the current widespread use of XML file parsing RSS reader be written. Refer to the relevant information, select RSS news reader data sources; algorithm through comp

17、arisons with other analytical methods to parse RSS feeds - SAX parsing. This article outlines the introduction of the Google Android development process and focus on the development process based on the Google Android platform, RSS news subscription reader. First, according to Google electronics mar

18、ket data, news reader to give the Android platform to do a needs analysis.Next, from the various forums and websites, search and seize the user experience better RSS feeds, as users subscribe to the goal.Data preparation is complete, the user survey, design your own UI in this process is not only ca

19、lled the Android system controls, custom control to enhance the user experience. In interface design is complete, start to develop their own systems, starting focus from the characteristics of the software introduced in this paper, a brief introduction to the user can be off-site landing, access to

20、your favorite subscription from the server side; no network can be connected to the user case, the offline mode to read; the user the time of reading your favorite, favorites, or share with your friends. Finally, after the completion of the development of this series, a lot of testing to discover th

21、e lack of software improvements. Key words: Google Android reader; RSS News; SAX algorithm Parse;目 录第一章 绪论11.1 选题背景11.2 课题研究目的11.3 Android平台RSS新闻阅读器客户端开发的意义11.4 小结1第二章 Android 移动平台的相关理论22.1 Google android 移动平台的相关介绍22.2 Google android 平台的优势及不足22.2.1 Android的优势22.2.2 Android的不足12.3 Google android 移动平台

22、下的应用研究12.4 小结1第三章 Android移动平台下阅读器关键技术23.1 RSS的研究23.2. SAX解析算法的研究23.3 Android自定义控件的研究13.4 3D动画效果的研究23.5 数据分享的研究13.6 小结1第四章 系统分析24.1 需求分析24.1.1 系统需求功能的描述24.1.2系统数据流图24.1.3系统功能结构24.2 解决方案24.2.1 界面设计方案24.2.2 RSS解析方案2第五章 系统概要设计第六章 系统详细设计与实现15.2 系统框架15.3 系统实现25.3.1 布局界面设计25.3.2 RSS源的读取25.3.3 新闻列表的呈现25.3.4

23、 新闻页面的显示及分享15.4 小结1第七章 结束语2参考文献1附录 文献翻译谢辞2 天津工业大学2012届本科生毕业设计(论文)第一章 绪论1.1 选题背景手机是已经成为了生活中不可缺少的通讯设备,之前人们对于手机的定义,只是一个可随身携带的通讯设备,人们对他的要求只是一个可以接打电话和接发短信的设备,但是随着3G高速网络的发展,人们对于手机的需求已经远远的超过了打电话的那些需求,人们需要手机不仅可以通讯,而且还要有娱乐,消费,甚至是办公。而这一切的一切,随着智能手机的迅速发展,都已经步入到我们的生活当中了。Google于2007年11月5日宣布推出基于Linux平台的开源手机操作系统,号称

24、首个为移动终端打造的真正开发和完整的移动软件Android,在推出的2年之后就一举超越了此前已经霸占手机十余年之久的塞班系统成为全球最受欢迎的智能机操作系统,Android是早期由Google开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件层(software stack,又名以软件叠层)的构架,主要分为三部分。底层以Linux内核作为基础,由C语言开发,只提供基础功能。中间层包括函数库Library和虚拟机Virtual Machine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java编写。Android

25、不只是一个操作系统而已,它包括了:1.经过Google剪裁和调优的Linux Kernel,对于掌上设备的硬件提供了优秀的支持。Google在Linux方面的应用能力不容置疑,Google公司所有的几十万服务器全部是自己修改过的Linux操作系统。2.经过Google修改的Java虚拟机Dalvik,是基于Apache Harmony虚拟机版本进行改良而来,能够提供极高的执行性能。有了Java虚拟机,大部分Java核心类库都已经可以直接运行。3.大量立即可用的类库和应用软件,例如浏览器Webkit,数据库SQLite,让你可轻易开发出来媲美于桌面应用复杂度的手机软件。4.Google已经开发好

26、了大量现成的应用软件,同时可以直接使用Google很1天津工业大学2012届本科生毕业设计(论文)多在线服务。5.Google提供了基于Eclipse的完整开发环境,模拟器,文档,帮助,示例将极大推动Android快速的推广和发展。 基于Android众多的优点,围绕Android形成了一个移动手机联盟,主要的手机厂商几乎全部在列,而此联盟在极大的推动Android平台的推广和发展,在未来的几年必将大方异彩,将极大的推动整个手机操作系统甚至是互联网乃至软件行业的发展。1.2 课题研究目的为什么要研究Android,是因为它够庞大,它够复杂,他激起了我作为一个对手机软件感兴趣的应届毕业生的内心的

27、渴望,渴望理解这种复杂性。我研究的对象是基于手机开发平台的Android软件部分。作为一个应届毕业生,要从事基于Andoid平台的软件开发,我的关于手机平台上积累的知识和在学校所学习的基础知识已经不能满足需要了,Android为我们带来了大量的新名词,Activity,Manifest,INTENT,Service,Binder,Dalvik虚拟机,Framework,Linux,Navtive ,JNI.。通过在源代码,在开发社区,在开发博客,甚至在招聘过程中,我不断的寻求Android是什么。经过一定时间的沉淀,我慢慢的理解到Android不仅仅是一类手机的总称,不仅仅是一个手机开发平台,

28、不仅仅是一个虚拟java操作系统,不仅仅是一个开发社区,一个开发标准,不仅仅是一堆代码,Android已经成了一个新的潮流。在当今的社会中,无论是在国内还是在国外,Android平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,Android将越发的凸显自己的重要性。基于此,我们有必要通过进行相关的研究来了解Android平台,来了解开发Android的那一大批人的先进的理念和思想,并通过这些来了解手机软件行业,进而了解未来移动互联网的发展趋势,从而更好的适应时代的需要。1.3 Android平台RSS新闻阅读器客户端开发的意义 随着3G应用的普及,人们对于移

29、动资讯的需求急剧增长,原先我们只能通过各大门户网站去浏览我想要的信息,可是在打开这些门户网站的时候会同时打2开我们很多不需要的信息,而打开这些信息的同时消耗的是我们的GPRS流量,消耗的流量就是消耗的金钱,因为我们都知道目前在中国GPRS的收费还是相对较贵的,而此时RSS移动阅读器就是智能手机用户们必不可少的应用软件了,因为RSS阅读器是对RSS源的一个解析,RSS可能在国内还不是很被人熟知,RSS源是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSS Feed中包含的信息就能直

30、接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用。所以使用RSS阅读器订阅的内容都是与你想订阅的主题相关的,这从中就能为我们节省很多的时间与金钱,省去了那部分为我们不需要的信息而下载的流量。从google reader到FlipBoard,再到国内的类似阅读器,总地来说,大家都很相似,如何开发出属于具有特色的阅读器,能够提高用户体验的阅读器才是我们所追求的目标。1.4 小结 本节主要介绍了Google Android平台的发展背景与前景,并简单的介绍了我所研究的课题的意义以及开发的一些流程的相关内容。第二章 Android 移动平台的相关理论2.1 Go

31、ogle android 移动平台的相关介绍Android是Google于2007年11月5日宣布的基于Linux平台开源手机操作系统名称,谷歌与开放手机联盟合作开发了Android。开放手机联盟,Open Handset Alliance:是没过Google公司与2007年11月5日宣布组件的一个全球性的联盟组织。联盟将会支持Google发布的Android手机操作系统或者应用软件,共同开发名为Android的开放源代码的移动系统。开放手机联盟包括手机制造商,手机芯片厂商和移动运营商几类。目前,联盟成员数量已经达到了43家。有Aplix,Asecender,Audience,Broadcom

32、,中国移动,eBay,ESMERTEC,谷歌,宏达电,因特尔,KDDI,LivingImage,LG,MARVELL,摩托罗拉,NMS,NTTDocomo,高通,三星,德州仪器等等。Android软件系列包括操作系统,中间件和一些关键应用。Android是基于JAVA系统的,运行在LINUX2.6核上。ANDROID SDK提供多种开发所必要的工具与API。Android的应用框架可以重复使用,其组建也可以更换。Dalvik虚拟机针对移动设备进行了优化。优化的图形能力支持2D,3D图形(OpenGLES 1.0)。集成了基于开源的WebKit引擎的浏览器。采用SQLite作为结构化数据存储。多

33、媒体支持多种音频,视频格式。GSM Telephoney,支持蓝牙Bluetooth,3G,和WIFI,支持照相机,GPS,指南针和加速度仪等传感器硬件。丰富的开发环境包括模拟机,调试工具,内存运行检测,以及为Eclipse IDE所写的插件。2.2 Google android 平台的优势及不足2.2.1 Android的优势 源代码的完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发出更具差异性的应用。 采用了对有限内存、电池和CPU优化过的虚拟机Dalvik,Android的运行熟读比想象的要快很多。3 运营商(如中国移动等)的大力支持,产业链条的热捧。良

34、好的盈利模式(3/7开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错的利益。将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。Android的源代码遵循Apache V2软件许可,而不是通常的GPL v2许可,有利于商业开发。具有强大的Linux社区的支持。2.2.2 Android的不足由于采用的Java作为应用开发语言,目前可用的传统第三方应用还很少,但由于Android是一款完全开源的移动计算平台,相信第三方应用会很快的丰富起来。Google提供了一套JAVA核心包的有限子集,尚不承诺遵守JAVA任何JAVA规范,可能会造成java阵营的进一步分裂。现

35、有的应用完善度不太够,需要的开发工作量较大。基于QEMU开发的模拟器调试手段不十分丰富,只支持通话,SMS等,速度慢。暂不具备Push Mail和Office功能,目前主要面向的是普通消费者用户,对商业用户支持尚弱。最近各大科技网站也相继报出,调查者发现很多开发者对于Android的分裂话不太满意,各大生产商生产出各种各样的Android平台的设备,开发者很难做到每个设备都兼容。2.3 Google android 移动平台下的应用研究Android系统提供给应用开发者的本身就是一个框架,所有的应用开发都必须遵守这个框架的原则。我们在开发应用时就是在这个框架上进行扩展,下面来看看Android

36、这个框架都有些什么功能可供我们使用。android.app:提供高层的程序模型和基本的运行环境。android.content:包含对各种设备上的数据进行访问和发布。5android.database:通过内容提供者浏览和操作数据库。android.graphics:底层的图形库,包含画布、颜色过滤、点、矩形,可以将它们直接绘制到屏幕上。android.location :定位和相关服务的类。android.media:提供一些类管理多种音频、视频的媒体接口。 :提供帮助网络访问的类,超过通常的 .*接口。android.os :提供了系统服务、消息传输和 IPC 机制。android.ope

37、ngl:提供 OpenGL 的工具。android.provider:提供访问 Android 内容提供者的类。android.telephony:提供与拨打电话相关的 API 交互。android.view:提供基础的用户界面接口框架。android.util :涉及工具性的方法,例如时间日期的操作。android.webkit :默认浏览器操作接口。android.widget:包含各种 UI 元素(大部分是可见的)在应用程序的布局中使用。2.4 小结本节详细的介绍了Android的由来,然后从Android自身出发,分析了Android的优缺点,介绍了APP开发的框架,便于理解Andro

38、id开发的流程。第三章 Android移动平台下阅读器关键技术3.1 RSS的研究RSS源是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS应用在国外已经非常普遍,从个人博客(Blog)栏目、企业站点到世界级的门户都提供基于RSS的服务。最初的0.90版本RSS是由Netscape公司设计的,目的是用来建立一个整合了各主要新闻站点内容的门户,但是0.90版本的RSS规范过于复杂,而一个简化的RSS 0.91版本也随着Netscape公司对该项目的放弃而于2000年暂停。发布一个RSS文件(一般称为RSS Feed)后,这个RSS Feed中包含的信息就能直接被其他站点调用,而

39、且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,如PDA、手机、邮件列表等。而且一个网站联盟(比如专门讨论旅游的网站系列)也能通过互相调用彼此的RSS Feed,自动的显示网站联盟中其他站点上的最新信息,这就叫着RSS的联合。这种联合就导致一个站点的内容更新越及时、RSS Feed被调用的越多,该站点的知名度就会越高,从而形成一种良性循环。 而所谓RSS聚合,就是通过软件工具的方法从网络上搜集各种RSS Feed并在一个界面中提供给读者进行阅读。这些软件可以是在线的WEB工具,如 等,也可以是下载到客户端安装的工具 随着越来越多的站点对RSS的支持,RSS已经成为目前最成

40、功的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。相信很快我们就会看到大量基于RSS的专业门户、聚合站点和更精确的搜索引擎。3.2 SAX解析算法的研究RSS 源的数据结构为XML文件,当前 Google Android 处理读取XMl数据6有三种主流方式:1.DOM 解析;2. Pull 解析 3.SAX解析由于Google Android 平台手机系统资源有限,且基于Google Andorid 平台的新闻阅读器所读取的数据内容不是非常多,所以我在此选择了性能消耗较小的SAX解析作为解析XML文件的方法。 SAX(Simple API For XML

41、)是一个公共的基于事件的XML文档解析标准,这里简单介绍一下MSXML是如何通过COM接口实现SAX功能的。首先需要注意的使SAX是一 个接口集合,它允许开发人员在自己的应用中通过这个接口集合来读取和分析XML文档中的数据。SAX2是当前微软最新的API。xml文件被Sax解析器载入,由于Sax解析是按照xml文件的顺序来解析,当读入时,会调用startDocument()方法,当读入的时候,由于它是个ElementNode,所以会调用startElement(String uri, String localName, String qName, Attributes attributes)

42、方法,其中第二个参数就是节点的名称,注意:由于有些环境不一样,有时候第二个参数有可能为空,所以可以使用第三个参数,因此在解析前,先调用一下看哪个参数能用,第4个参数是这个节点的属性。这里我们不需要这个节点,所以从这个节点开始,也就是图中1的位置,当读入时,调用startElement(.)方法,由于只有一个属性id,可以通过attributes.getValue(0)来得到,然后在图中标明2的地方会调用characters(char ch, int start, int length)方法,不要以为那里是空白,Sax解析器可不那么认为,Sax解析器会把它认为是一个TextNode。但是这个空白

43、不是我们想要的数据,我们是想要节点下的文本信息。这就要定义一个记录当上一节点的名称的TAG,在characters(.)方法中,判断当前节点是不是name,是再取值,才能取到thinking in java。具体见代码:com.chefutong.app.reader.handler.RSSHandler.javaimport java.io.ByteArrayOutputStream;/导入所需的类,包public class RSSHandler extends DefaultHandler public static final String AMP_SG = &/定义变量pub

44、lic RSSHandler(Context context) KEEP_TIME = Long.parseLong(PreferenceManager.getDefaultSharedPreferences(context).getString(Strings.SETTINGS_KEEPTIME, 2)*86400000l;this.context = context;/构造函数public void init(Date lastUpdateDate, String id, String title) /初始化数据xOverridepublic void startElement(Strin

45、g uri, String localName, String qName, Attributes attributes) throws SAXException /当分析器遇到无法识别为标记或者指令类型字符时调用System.out.println(节点开始: + qName); for(int i=0;iattributes.getLength();i+) System.out.println(节点属性名称: + attributes.getQName(i); System.out.println(节点属性值:+attributes.getValue(i);xOverridepublic void characters(char ch, int start, int length) throws SAXException /当遇到节点结束时调用System.out.println(节点数据: + new String(ch, offse

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号