基于Android的RSS新闻阅读器的设计与实现
2016-12-29王瑞娜
王瑞娜
(三门峡职业技术学院,河南 三门峡 472000)
基于Android的RSS新闻阅读器的设计与实现
王瑞娜
(三门峡职业技术学院,河南 三门峡 472000)
为了给用户提供方便快捷的新闻阅读方式,为手机用户节省流量,文章在介绍RSS,SAX相关技术的基础上,设计并开发了一个基于Android、采用Eclipse作为开发工具、SQLite作为数据库、Google Android SDK 2.2作为开发平台的新闻阅读器.重点从需求分析、系统设计、系统实现方面对其相关核心技术和开发流程进行介绍.
Android;RSS;新闻阅读器;设计
0 引言
智能手机具有强大的数据处理和可扩展能力,已经成为人们日常工作生活中不可缺少的通讯设备.随着互联网的发展,传统的网页浏览方式具有网页内容更新速度慢、查询信息不精确的缺点,给用户的浏览带来了极大的困扰,人们已经不再习惯使用网络获取各类新闻信息,不愿再浪费时间和精力从新闻网站下载信息.RSS技术用于实时新闻的发布,成为互联网应用的热点,能够按照用户需求,在任何时间和地点收集和组织信息并传送到用户的计算机上.RSS新闻阅读器是以新闻阅读订阅为主,用户与手机直接交互,方便用户操作,不受手机流量控制的一款软件.该技术能够为用户提供大量的精确信息,使人们从冗余复杂的信息中准确地搜索到符合用户需求的各类数据信息,并且以互动的方式及时反馈给用户.
Android是为移动终端打造的真正开发和完整的基于Linux平台的开源手机操作系统,具有降低手机成本、个性化应用的特点,在智能手机终端平台占据着重要的地位和作用.本文旨在通过RSS,SAX技术,在Android平台上实现新闻阅读器的设计,方便用户的阅读.
1 相关技术
1.1 Android
随着计算机的高速发展和网络应用的大众化,在信息技术高速发展的今天,Android广泛应用在智能手机、IPAD、移动网络终端设备中,对人们的生活已经产生了巨大的影响.Android操作系统平台是由谷歌公司开发的面向移动应用平台的一种操作系统,是系统软件,该系统具有价格低廉、性能优越的特点.应用程序层、中间框架层和Linux内核驱动层组成了安卓平台体系结构.
1.2 RSS
RSS是迄今为止最为高效的定向阅读工具,采用“客户端/服务器”模式和HTTP,是基于XML标准,具有信息发布快、成本低的特点.RSS阅读器是一个通过HTTP协议解析RSS文件并呈现给用户的应用软件,能够安装在客户端,实现与服务器上数据的同步.未来RSS订阅的主题是过滤、个性化.RSS的优点之一是用户能够使用RSS聚合器更快地检查网站的更新.RSS是基于XML标准进行发布消息,是一种聚集搜集新闻标题或提供网页内容的格式.用户能够通过RSS Reader实现不同网站信息的实时更新.
1.3 SAX
RSS源的数据结构为XML文件,DOM解析、Pull解析和SAX解析是当前Google Android处理读取XML数据的三种主流方式.本文基于Android的RSS新闻阅读器的设计与实现主要使用性能消耗较小的一个公共的基于事件的XML文档解析标准SAX解析作为解析XML文件的方法.本系统在实现过程中使用SAX解析方法.SAX是一个公共的基于事件的XML文档解析标准.使用SAX作为XML最优的解析算法,能够有效地实现时间复杂度和空间复杂度,并使系统具有较高的稳定性.
1.4 SQLite
SQLite是关系型数据库产品,主要应用在手机、IPAD等嵌入式终端设备中,具有内存容量小、检索效率高、操作系统兼容性好、能跟各类高级语言相结合、具有简单易用的API特点,支持SQL查询语言等核心技术.目前的智能手机主要以Android为主,它集成了SQLite数据库的开发环境,包括内核、编译器和各类附件,能通过虚拟机进行调试和扩展内核功能.在SQLite数据库中,对数据记录进行增删改和建立索引、视图、触发器操作并执行SQL语句查询主要是通过Firefox插件管理的.
在Google Android平台中,官方提供了数据库,Content Provider,SharePerfrence,Files四种方法来实现数据的持久化.在基于Android的RSS新闻阅读器的设计过程中,由于基于Google Android平台的新闻阅读器的存储容量有限、具有规则的数据格式、不断更新数据,因此,系统在设计时使用SQLite进行数据的持久化.
2 需求分析
2.1 系统业务
基于Android的RSS新闻阅读器在设计与实现的过程中,应该具有新闻组管理、新闻频道阅读、新闻信息阅读、新闻更新、新闻分享功能.要求用户能够根据自身需求实现新闻组、新闻频道中数据的更新功能.能够在任何时间和地点根据需求及时加载新闻列表,并对其具体网页进行详细的阅读.类似于微信、易信、qq空间等通讯工具,能够将最新的人们感兴趣的新闻分享.
2.2 系统数据流图
系统数据流图见图1所示.
图1 系统数据流图
3 系统设计
首先从系统总拓扑层次结构及系统框架入手,确定阅读器的实现目标,然后设计流程图,最后进行功能模块的划分.
3.1 系统总拓扑层次结构及系统框架
RSS与使用IE浏览器在阅读新闻上的最大区别是需要提前定制新闻频道.需要实现定制层、聚合层、阅读层.在设计过程中相当于拓扑层次,如图2所示.
图2中的定制层主要负责用户需要定制的新闻频道,用户根据自身需要,进行添加和删除频道需要.聚合层是新闻阅读器的关键层,该层主要利用RSS技术,将信息源内容传送到阅读器中,由阅读器进行解析,根据用户资源定位器URL地址获取对应网站的摘要信息.聚合层的主要目的是用于获取网站的摘要信息.阅读层是用户直接与新闻阅读器交互的接口,主要负责接收由聚合层反馈给用户的信息,供用户进行选择,其功能类似于IE浏览器中的收藏夹.
基于Android的RSS新闻阅读器使用SQLite数据库存储作为本地数据.系统框架如图3所示.
图2 拓扑层次结构图
图3 系统架构图
3.2 阅读器的实现目标
阅读器能够实现以下几个目标:
1)用户根据自身兴趣爱好需求,对喜好的新闻阅读器进行定制,反之进行修改和删除.
2)能够根据最新频道定制新闻信息给不同的用户.
3)系统能够实现离线阅读功能,自动下载服务器上的网页新闻到本地机器,使用户浏览最新信息.
4)系统能够实现根据指定的时间提醒用户注意休息.
5)系统能够根据用户需求对其感兴趣的新闻打印预览.
3.3 系统的功能结构设计
新闻阅读器的流程图为其功能实现提供了有力保障,新闻阅读器的流程图如图4所示.
当用户点击新闻阅读器后,进入阅读器界面,根据用户需求,选择是否需要定制频道.如果用户定制该频道,根据需要对频道进行增加、删除或者修改,频道定制好后,浏览相关新闻信息.如果用户不定制该频道,随时对频道进行删除和修改等操作.当下载文件时,用户根据需求选择自动或者手动下载到本地机器上.若自动方式,则批量下载或者删除;若手动方式,则单个下载或者删除.
根据系统总拓扑提出的定制层、聚合层、阅读层三大层次,将RSS新闻阅读器从功能上划分为6大模块.如图5所示.
4 系统实现
主要从系统开发平台、主要功能模块的实现两个方面对系统进行阐述.
4.1 系统开发平台
基于Android的RSS新闻阅读器使用Visual Studio作为开发工具,SQLite作为数据库,Google Android SDK 2.2作为开发平台,Android作为操作系统进行设计与实现.
图4 新闻阅读器的流程图
图5 功能结构设计图
4.2 主要功能模块的实现
RSS新闻阅读器具有界面简洁、内容丰富、可靠性高、方便用户使用的特点.界面的上方是菜单栏和工具栏,左下侧是RSS频道,右下侧是内容阅读区.
4.2.1 频道管理模块
确定信息源是个人信息门户构建的重要环节,它是通过确定RSS FEED完成的.能够通过RSS新闻阅读器内置的FEED、从提供RSS服务的站点收集FEED、通过RSS搜索引擎三种方式来完成RSS FEED的获取.
4.2.2 文件显示模块
RSS新闻阅读器支持在线和离线两种阅读方式.在线和离线阅读时,分别以TreeView控件和ListView控件显示文章的列表,都是以树状结构的形式显示文章的内容.
4.2.3 下载文件模块
从网上抓取新闻文章是RSS新闻阅读器的主要功能.通过阅读器下载文章的基本工作原理是用户首先定制新闻频道,然后接受分析FEED文件,对新闻的标题、内容等信息进行解析,最后将解析出的内容显示在新闻阅读器上供用户在线阅读.浏览者如果想读取各类网站上的各类新闻则需要不断地刷新FEED.该模块能极大地提高用户的访问效率,节省浏览时间.本论及设计的基于Android的RSS新闻阅读器能够为新闻阅读者提供在线和离线两种阅读方式,其基本原理如图6所示.
4.3 界面设计实现
本系统以主界面设计为例,在界面设计过程中采用树状结构,其目的是方便用户浏览新闻及为了使用户不会因为Android平台手机屏幕大小有限而产生凌乱的感觉.主界面能更好地实现新闻组和新闻频道的增删改查等功能,其系统开发主设计界面如图7所示.
图6 RSS新闻阅读器基本原理
图7 系统开发主界面设计
5 小结
RSS技术促进了用户访问互联网的浏览方式,其新闻阅读器的设计能极大方便用户的使用,增加人性化的界面.本文主要从采用的相关技术、需求分析、系统设计、系统实现四个方面对RSS新闻阅读器的设计与实现进行阐述,重点介绍了系统的实现过程.
[1] 孙 翕,张 璟,杨 欣.RSS应用服务平台技术的研究与实现.计算机工程与设计,2010,31(18):4015-4019
[2] 刘清堂.基于RSS的教育资源服务系统研究.计算机工程与设计,2008,29(2):474-476
[3] 秦 鸿,RSS技术在图书馆中的应用.上海:上海交通大学出版社,2010
[4] 杨理想,基于Android平台的RSS新闻阅读器的研究与开发.现代电信科技,2012(12):13-17
[5] 南晓凡.RSS技术在图书馆中的应用与发展.图书馆学刊,2014(5):109-112
Design and Implementation of RSS News Reader Based on Android
WANG Ruina
(Sanmenxia Polytechnic, Sanmenxia 472000, China)
In order to provide user with convenient and quick news reading way, and can save flow for mobile phone users. This paper based on the introduction of RSS, SAX related technology,design and develop a news reader based on Android, using Eclipse as a development tool, SQLite as a database, Android SDK Google 2.2 as a development platform. Focus from the needs analysis, system design, system implementation aspects of its core technology and development process were introduced.
Android;RSS; news reader;design
2016-04-13
河南省教育厅科学技术重点项目(15B520026).
王瑞娜(1984-),女,河南灵宝人,硕士,三门峡职业技术学院讲师,主要从事计算机应用技术研究.
1672-2027(2016)02-0046-05
TP317
A