rss阅读器论文.docx
- 文档编号:9615764
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:27
- 大小:174.35KB
rss阅读器论文.docx
《rss阅读器论文.docx》由会员分享,可在线阅读,更多相关《rss阅读器论文.docx(27页珍藏版)》请在冰点文库上搜索。
rss阅读器论文
基于android平台的新闻
阅读软件的系统设计
院系:
信息科学与技术系
专业班:
通信工程0803班
姓名:
。
。
。
。
。
。
学号:
***********
指导教师:
。
。
。
。
。
。
2012年4月
基于android平台的新闻阅读
软件的系统设计
DesignofaNewsReaderSoftwareSystemBasedontheAndroidPlatform
摘要
随着科技的发展,人们对信息的汲取有着强烈的需求。
而智能手机与Android的结合无疑为人们的生活和工作带来了与众不同的全新体验。
如今,人们不再受PC束缚,无论走到哪里,只要有一部Android手机,并且有移动信号,就可以随时随地浏览资讯、网上冲浪等等,极大的方便了人们的生活。
本软件就是基于Android平台的新闻阅读器的开发。
本文首先给出了Android的研究背景,概括的介绍了Android的一些相关知识,重点介绍了基于Android平台的新闻阅读软件的开发过程。
本软件设计的比较简单,数据源是来源于网络。
在参阅相关资料下,选择了RSS源作为数据的来源;通过与其他算法的比较得出了解析RSS源的最佳算法——SAX解析,同时本文穿插图片和表格进一步阐明了基于Android平台的新闻阅读软件的设计。
本此软件研究的目的就是能确保新闻的时效性,为用户提供了充足并有价值的信息来源以及不同的新闻内容,方便用户随时随地的读取资讯,及时了解周边的动态。
本软件界面友好,操作便捷,具有良好的可扩展性和可维护性。
最后,在完成系统的开发后,进行了相关的测试。
通过开发基于Android平台的新闻阅读软件,学习Android并结合实际开发。
关键词:
Android新闻阅读器RSSSAX
Abstract
Withthedevelopmentofscienceandtechnology,peoplehaveastrongdemandforlearningofinformation.SmartphonewithAndroidcombinationisundoubtedlyadistinctivenewexperienceforthepeoplelivingandworking.Now,peoplearenolongerboundbytheP.WhereveryougoaslongasthereisanAndroidphoneandamobilesignal,youcananytimeoranywheredoinformationbrowsing,websurfing,andsoon.It’sagreatconveniencetopeople’slives.
Thesoftwareisanewsreader,whosedevelopmentisbasedontheAndroidplatform.
ThispaperfirstgivesabackgroundofAndroid,ageneralintroductiontotheknowledgeoftheAndroid,highlightsthedevelopmentprocessofnewsreaderwhobasedontheAndroidplatform.Thesoftwaredesignisrelativelysimple.thedatesourceisderivedfromthenetwork.Refertotherelevantinformation,IselectRSSfeedsasasourceofdate.Comparedwithotheralgorithms,IobtainedSAXparsingasthebestalgorithmforparsingRSSfeeds.WhilethisarticleinterspersedwithimagesandtablestofurtherelucidatethedesignofnewsreadsoftwarethatbasedontheAndroidplatform.
Thepurposeofthissoftwareresearchistoensurethetimelinessofnews,toprovideuserswithadequateandvaluablesourceofinformationandnewscontents,tobeconvenienttoreadtheinformationanytimeandanywhere,tokeepabreastofthedynamicofthesurrounding.Thesoftwareinterfaceisfriendly,easytohandle,hasgoodscalabilityandmaintainability.
Finally,inthecompletionofsystemdevelopment,Idotherelevanttests.ThroughthedevelopmentoftheAndroidplatform-basednewsreadersoftware,IlearnanddevelopAndroidcombinedwiththeactual.
Keywords:
AndroidNewsReaderRSSSAX
绪论
在3G时代,移动互联网的蓬勃发展促使手机终端产业链变化,应用和服务逐渐成为竞争的焦点。
无论是电信运营商,终端厂商还是应用开发商,目前都在向操作系统领域进军,试图对内容的聚拢核对应用体系的把控,稳固或加强自己在产业链中的影响力。
在这一过程中Android系统应多方面的因素逐渐受到各方的青睐。
Android是Google于2007年11月5日宣布退出的基于Linux平台的开源手机操作系统。
自从谷歌发布了Android操作系统,从此智能手机操作系统界不再安静。
2009年,原来引用塞班平台的厂商,比如LG、索尼爱立信等纷纷退出塞班平台,投入Android领域。
不久,Android系统就取代了塞班成为智能手机操作系统的霸主。
在2011年的第一季度,Android在全球的市场份额就已经超过了塞班,位居世界第一。
到了2011年底,Android占据了全球52.5%的份额。
根据Google于2011年6月公布的数字,现在每天激活Android设备高达50万台,比5月份的数据增加了10万台!
相对于塞班的日落西山,以及苹果的封闭、WindowPhoto的前途未卜,Android无疑代表了当前行业发展的主流趋势:
开放平台取代了封闭平台,让参与者均能通过自己的努力获益。
Android作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。
全球为数众多的移动电话用户正在使用各种基于Android的电话。
谷歌的目标是让移动通讯不依赖于设备甚至平台。
出于这个目的,Android将补充,而不会替代谷歌长期以来奉行的移动发展战略:
通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。
国外Android市场正在如日中天的扩展,据市场调研机构NPDGroup发布的一份报告称,2011年第一季度基于Android操作系统的智能手机在美国智能手机总销量中所占比例达到28%,首度超过苹果(苹果约为21%),相信在现今以及不久的将来会有更多的用户选择Android系统的手机或是无线终端设备。
目前,Android在国内的情景十分广阔,首先是成熟的消费者,在国内,Android社区十分红火,这些社区为Android在中国的普及做了很好的推广作用。
国内厂商和运营商也纷纷加入了Android阵营,包括中国移动,中国联通,中兴通讯,华为通讯,联想等大企业,同时也不仅仅局限于手机,国内厂家也陆续推出了采用Android系统的MID产品。
比较著名的包括由Rockchip和蓝魔推出的同时具有高清播放和智能系统的音悦汇W7和2010年推出的原道N5,我们可以预见Android也将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。
所以,无论是在国外还是在国内,Android平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年获益短时间内,Android将越发的凸显自己的重要性。
基于此,我们有必要通过进行相关的研究来了解Android平台,了解手机软件行业,进而了解未来移动互联网的发展趋势,从而更好地适应时代的需要。
本课题通过开发一个项目,即新闻阅读器来了解Android平台的相关特性和开发流程。
具体来讲:
(1)选取自己能够解决,并且对自己有提高的课题进行研究,即新闻阅读器。
根据相关信息来选取相应的新闻源作为本项目的新闻来源。
(2)通过独立设计UI来了解Android以至于移动平台开发的UI的设计方法。
(3)通过选取相应的算法来读取新闻源的内容,来了解Android平台的类库和其相关的设计模式,了解其先进的思想和API的特点。
(4)通过设计功能点来初步的了解移动平台开发的所需注意事项,初步的了解移动平台的开发,并了解和体会如何获得更好的人机交互。
(5)通过测试来完善程序,使程序能正常运行,并进一步了解Android平台的相关先进的特点和其人性化的设计,与此同时熟悉软件开发的相关流程并深刻认识在编码时一些注意事项的重要性。
其具体的研究内容包括:
(1)数据源的选取。
(2)界面的设计。
(3)数据源的读取。
(4)人机交互的效果
(5)程序的测试。
本章主要介绍了Android的背景及国内外的现状,并简要概述了Android开发的简单流程和测试的相关内容以及课题研究的大致内容。
1Android平台的相关知识
1.1Android背景介绍
Android是一个开放的手机操作系统平台,为移动设备提供了一个包含操作系统、中间件及应用程序的软件叠层架构。
AndroidSDK为开发人员使用Java语言编写Android平台下的应用程序提供了必要的工具和API。
Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。
早期由名为“Android”的公司开发,谷歌在2005年收购“Android.Inc”后,继续进行对Android系统开发运营,它采用了软件堆层(softwarestack,又名软件堆层)的架构,主要分为三部分。
底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。
2011年初数据显示,仅正式上市两年的操作系统Android已经超越了称霸十年的塞班系统,跃居全球最受欢迎的智能手机平台。
现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张[1]。
1.2Android系统功能
Android自推出以来如此受追捧不仅仅是因为网络巨头Google的大力支持,Android自身所具有的特性才是吸引全球精英开发者的更重要的原因。
其主要特性如下:
(1)应用程序框架:
可以方便地重用和替换手机组件。
(2)Dalvik虚拟机:
专为移动设备优化的虚拟机。
(3)内部集成浏览器:
基于开源的WebKit引擎。
(4)优化的图形系统:
其中自定义了2D图形库,3D图形库基于OpenGLES1.0,可选硬件加速。
(5)SQLite:
集成了轻量级数据库管理系统。
(6)多媒体支持:
支持常见的音频和视频,以及各种图片格式。
(7)GSM技术、蓝牙、EDGE、3G和WIFI:
需要硬件支持。
(8)摄像头、GSP、罗盘、加速度计:
需要硬件支持。
(9)完备的开发环境:
包括设备模拟器、调试工具、内存和性能分析工具,以及用于Eclipse开发环境的插件[2,3]。
1.3Android的系统构架
Android分为四层,从高到低分别是应用层、应用框架层、系统运行库层和Linux内核层,如下图1-1所示:
图1-1Android体系结构图
下面对这4层进行简单介绍:
(1)应用层。
应用层是用Java语言编写的运行在Dalvik虚拟机(Google
公司为Android专门设计的基于寄存器的JAVA虚拟机)上的程序。
比如日历、地图、浏览器、联系人管理等。
(2)应用层框架。
这一层编写Google发布的核心应用时所使用的API框架,
开发人员同样可以使用这些框架来发布自己的应用,这样便简化了程序开发的构架设计,但是必须遵守其框架的开发顺序。
Android提供了如下一些组件:
丰富而又可扩展的视图:
可以用来构建应用程序,它包括列表(List)、网络(Grid)、文本框(TextBox)、按钮(Button),以及可以嵌入的Web浏览器。
内容提供者(ContentProvider):
它可以让一个应用程序访问另一个应用程序的数据。
资源管理器(ResourceManager):
提供非代码资源的访问,如本地字符串、图形和布局文件(layoutfile)。
通知管理器(NotificationManager):
应用可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager):
用来管理应用程序生命周期并提供常用的导航回退功能。
窗口管理器(WindowManager):
管理所有的窗口程序。
包管理器(PackageManager):
Android系统内的程序管理。
(3)C/C++程序库。
Android平台上的操作系统本身也是一个Linux操作系统,它拥有Linux的众多优秀特性。
一些Linux下优秀的C/C++程序库也可以方便的移植到Android系统上。
Android包含一些C/C++库,这些函数库供Android系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
其核心库包括基于Linux标准的系统C库。
基于PackageVideoOpenCORE的媒体库,它包含了对显示子系统的管理,并且为多个应用程序提供了2D和3D图层之间的无缝融合的界面管理器。
一个支持位图和矢量图显示的绘图器。
一个最新的页面浏览器引擎,支持Android系统的浏览器和一个可嵌入的页面视图。
一个支持长久数据存储的并且符合SQL标准的轻量级SQLite关系型数据库引擎,以及一个底层的2D图形引擎一个基于OpenGL/ES1.0的3D库等。
每个Java程序都在Dalvik虚拟机之上。
与PC一样,每个Android应用程序都有自己的进程,Dalvik虚拟机只执行.dex的可执行文件。
当Java程序通过编译,最后还需要通过SDK中的dx工具转化成.dex格式才能正常在虚拟机上执行。
(4)Linux内核层。
Android的核心系统服务基于Linux2.6内核,如安全性、内存管理、进程管理、网络协议和驱动模型等都依赖于该内核。
Linux内核同时也作为硬件和软件栈之间的抽象层。
Android更多的是需要一些与移动设备相关的驱动程序,主要的驱动如下所示。
显示驱动(DispiayDriver):
基于Linux的帧缓冲(FrameBuffer)驱动。
键盘驱动(KeyBoardDriver):
作为输入设备的键盘驱动。
Flash内存驱动(FlashMemoryDriver):
基于MTD的Flash驱动程序。
照相机驱动(CameraDriver):
常用的基于Linux的v412(VideoforLinux)驱动。
音频驱动(AudioDriver):
常用的基于ALSA(AdvancedLinuxSoundArchitecture)的高级Linux声音体系驱动。
蓝牙驱动(BluetoothDriver):
基于IEEE802.15.1标准的无线传输技术。
WiFi驱动:
基于IEEE802.11标准的驱动程序。
BinderIPC驱动:
Android的一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能。
PowerManagement(电源管理):
比如电池电量等[4-6]。
1.4Android的开发流程
Android移动平台作为21世纪的新秀,受到越来越多的开发者的追捧,在这股浪潮中,逐渐形成了具有Android自己特色的开发流程。
(1)需求分析。
作为一个软件,它必须有其存在的价值和意义。
而这价值和意义就需要需求分析来确定。
(2)功能分析。
作为一个软件,它的使命就是给用户使用的。
如何给用户提供最好的体验就是每个程序员需要深思的问题。
这也是确保一个程序成功的关键所在。
(3)界面设计。
作为一个手机软件,首先进入用户眼球的是其界面。
如何完美的展现其界面的独特性就显得尤为重要了。
(4)系统开发。
作为一个软件的主体部分,系统开发的好坏直接决定了该系统的性能和寿命。
(5)测试。
在任何一个软件开发行业中,测试是必不可少的一环。
在Android开发中,由于手机的高频率使用,和硬件系统上的不足,使得对软件的要求更加严密,这就要求在开发完成后,对其进行严格的测试。
而测试又包括单元测试、集成测试和系统测试等方面的测试。
(6)发布。
在完成了一个系统的开发后,就要将其发布,经过广大用户的考验,只有经历这,才算是一个合格的产品。
在Android平台中,Google提供了一套完整的发布机制—Googlemarket。
1.5Android应用
在Android程序中没有入口点(main方法),取而代之的是一系列的应用程序组件,这些组件都可以单独实例化。
任何一个Android应用程序,都可以由四个部分组成:
(1)Activity(Android的窗口)。
Activity是Android的核心类。
Activity相当于Web程序的页面。
每一个Activity提供了一个可视化的区域。
在这个区域可以放置各种Android控件,例如:
按钮、图像、文本框等。
实际应用中,通常就是一个单独的屏,也就是一个程序在运行时前台在某一个时刻所展示的全部内容就是一个Activity。
(2)Service(服务)。
服务没有可视化接口,但可以在后台运行。
例如,当用户进行其他操作时,可以利用服务在后台播放音乐,或者当来电时,可以利用服务同时进行其他操作。
(3)BroadcastReceive(广播接收器)。
广播接收器组件的唯一功能就是接收广播动作,以及对广播动作做出相应。
有很多时候,广播动作是由系统发出的,例如,时区的变化、电池的电量不足、收到短信等。
除此之外,应用程序还可以发送广播动作,例如,通知其他的程序数据已经下载完毕,并且这些数据已经可以使用了。
一个应用程序可以有多个广播接收器。
在广播接收器中,可以启动一个Activity来响应广播动作。
(4)ContentProvider(内容提供者)。
内容提供者可以为其他应用程序提供数据。
这些数据可以保存在文件系统中,例如,SQLite数据库或其他任何格式的文件。
在Android中每个应用程序都需要一个XML配置文件AndroidManifest.xml,该配置文件用于定义应用程序组件和组件功能以及一些必要条件等。
因此当我们使用到任何一个组件时都需要在这个配置文件中进行登记,否则系统将找不到该组件[7]。
1.6本章小结
本章主要通过Android平台的概述,系统功能,系统架构,开发流程以及Android应用等方面讲述讲述了Android移动平台的相关知识。
让读者对Android有个初步的认识,为下面的开发做基础。
2Android移动平台下新闻阅读器关键技术
2.1RSS技术及其背景简介
RSS是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。
RSS具有许多含义,从“RDFSiteSummary”(资源描述框架站点摘要)到“RichSiteSummary”(丰富站点摘要)再到“ReallySimpleSyndication”(真正简易联合)。
RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。
发布一个RSS文件后,这个RSSFeed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用。
如果从RSS阅读者的角度来看,完全不必考虑它到底是什么意思,只要简单的理解为一种方便的信息获取工具就可以了。
目前RSS已经分化为RSS0.9x/2.0和RSS1.0两个阵营,由于分歧的存在和RSS0.9x/2.0的广泛应用现状,RSS1.0还没有成为标准化组织的真正标准[8-12]。
表2-1RSS版本及其发展过程
版本
名称
发布
时间
发布机构
RDF
支持
XML命名空间
0.90
RDFSiteSummary
1999-3
Netscape
有
有
0.91
RichSiteSummary
1997-7
Netscape(RSS9.0)+
UserLand(ScriptingNews)
无
无
0.92
(0.9x)
RichSiteSummary
2000-12
UserLand
无
无
1.0
RDFSiteSummary
2000-8
RSS-DEV
有
有
2.0
ReallySimple
Syndication
2002-8
UserLand
无
有
2.1.1RSS工作原理
网页以RSS的形式为其内容提供一个通过URL获得的文件。
每一个RSSFeed文件包含一个频道(Channel)。
每个频道必须至少具备以下元素:
Title(标题)、Description(对频道的简单介绍)、Link(导航到目标网页)。
RSS将元数据(关于数据的信息)封装在内容周围。
RSS技术主要包含两个重要组件:
RSSFeed文件和RSS阅读器。
元数据允许RSS阅读器订阅RSSFeed文件,链接文件包含的Item(项)以及项所包含的具体信息,诸如链接的目标网页,摘要或全文信息等。
图2-1RSS结构
2.1.2RSS技术的功能特性
RSS通过XML标准定义内容的包装和发布格式,使内容提供者和接收者都能从中获益。
对内容提供者来说,RSS技术提供了一个实时、高效、安全、低成本的信息发布渠道;对内容接收者来说,RSS技术提供了一个崭新的阅读体验。
对于一个普通用户来说,用RSS阅读器阅读新闻可以在一个页面上看尽天下新闻。
RSS技术几大显著特性简述如下:
(1)来源多样的个性化“聚合”特性
因为RSS是一种被广泛采用的内容包装定义格式,所以任何内容源都可以采用这种方式来发布消息,包括专业新闻站点、电子商务站点、企业站点、甚至个人站点等。
而在用户端,RSS阅读器软件的作用就是按照用户的的喜好,有选择性地将用户感兴趣的内容来源“聚合”到软件的界面中,为用户提供多来源信息的“一站式”服务。
(2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- rss 阅读器 论文