基于Android的新闻客户端的设计与实现修改版.docx
- 文档编号:23211110
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:39
- 大小:282.31KB
基于Android的新闻客户端的设计与实现修改版.docx
《基于Android的新闻客户端的设计与实现修改版.docx》由会员分享,可在线阅读,更多相关《基于Android的新闻客户端的设计与实现修改版.docx(39页珍藏版)》请在冰豆网上搜索。
基于Android的新闻客户端的设计与实现修改版
摘要
随着科学技术的发展与手机应用的普及,越来越多的人使用手机阅读新闻资讯,浏览新闻信息。
由于Android应用市场提供免费下载,深受消费者的欢迎,所以开发一款基于Android平台的新闻客户端可以使用户随时随地阅读新闻资讯、更加方便的获取新闻信息。
因此,开发出一款智能手机的新闻客户端将有广阔的前景。
本新闻客户端使用Eclipse作为开发工具,以Google公司的Android操作系统作为开发平台,使用apache-tomcat-8.0.14作为应用程序的服务器,远程连接MySQL数据库。
使用HTTP协议获取数据,响应的信息转化成字符串,通过解析JSON数据,读取所需的信息。
软件实现了新闻加载与刷新功能、新闻分类、浏览新闻详情、新闻评论以及软件更新的功能。
在分析Android系统软件开发原理的技术层面上,最终开发出用户界面良好、应用简单的基于Android系统的新闻客户端软件。
通过实践与测试,最终完成了新闻客户端的开发与功能的实现。
关键词:
Android;新闻客户端;MySQL;Tomcat;Eclipse
Abstract
Withthedevelopmentofscienceandtechnology,thepopularityofmobileapplications,moreandmorepeopleareusingmobilephonestoreadnewsandinformation.SinceAndroidapplicationmarkettodownloadforfree,manyconsumersareoptimisticaboutAndroid.Therefore,onenewsclientsusetheAndroidsystemasadevelopmentplatform,enablinguserstoreadnewsanytime,anywhere,moreeasiertoreadnews.
ThenewsclientusingEclipseasthedevelopmenttool,withGoogle'sAndroidoperatingsystemasthedevelopmentplatform.,usingapache-tomcat-8.0.14astheserverapplicationandremoteconnectiontotheMySQLdatabase.UsingHTTPprotocolrequestdataandtheinformationresponseisconvertedtoastring.ByparsingJSONdatatoobtaintherequireddata.Itfinishedloadingnewsfeaturesandrefreshnewsfeatures,newsclassification,readnewsdetails,newscommentaryandsoftwareupdate.
ByanalyzingtheAndroidsystemsoftwaredevelopmentprinciplesofthetechnicalaspects,finally,developedanewsclient.Ithasagooduserinterfaceandeasytooperate.ItisusingtheAndroidplatformasthedevelopmentenvironment.Throughpracticeandtesting,andfinallycompletedthedevelopmentofclientnews,andachievedthedesiredfunction.
Keywords:
Android;newsclients;MySQL;Tomcat;Eclipse
第1章概述
1.1问题的提出
随着市场经济的发展和人们生活水平的提高,手机用户已普遍使用智能手机。
据中国智能手机使用情况数据统计,在中国,智能手机的销售量占全部手机销售量的73.2%。
74%的男性和54%的女性手机用户拥有一台智能手机。
按操作系统进行中国智能手机市场份额分析,Android系统占据71.0%,iOS仅有12.9%。
其他手机操作系统如Symbian、windows’Phone等占据剩余的市场份额。
在数量如此大的人群中,几亿手机用户有着新闻资讯需求。
随着网络的高速发展,传统的报纸行业已经满足不了人们获取新闻资讯的需求。
电视,网络成为了人们获取新闻资讯的主流渠道。
然而,电视与电脑获取新闻资讯仅限于室内,这样就给人们获取新闻资讯带来了极大的局限性。
因此,使用移动设备来阅读新闻资讯成为了当下人们获取新闻资讯的又一主流渠道,开发一款移动新闻客户端也成为了必然。
随着科学技术的不断提高,电子计算机技术飞速发展,计算机科学技术强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
尤其在手机应用方面,移动设备的普及以及发达程度,配合高速的网络,利用移动设备随时随地的阅读新闻资讯深受广大手机用户的喜爱。
因此很有必要开发一款基于Android系统的新闻客户端,这对于方便用户获取新闻资讯、提高用户信息量有着很大的实际意义。
1.2Android新闻客户端概述
新闻客户端也就是新闻APP,服务方运用Android等平台提供新闻信息、同时还可以提供新闻服务的移动应用程序。
用户可以下载这类程序到移动端上,通过网络和服务建立连接。
当前,新闻客户端按照内容可以分为三类,这三类分别是UGC、PGC和AAC三类[1]。
UGC把用户作为新闻客户端的核心,例如:
鲜果联播,除此之外,网易新闻客户端越来越依赖UGC。
PGC是专业人士应用的新闻客户端,这种新闻客户端也是国内非常常见的一种新闻客户端,搜狐和新浪等媒体都采用这种方式。
这种方式是专业的人员作为信息的负责人,能够提供良好的内容,来提高用户获取信息的效率,这种方式是当前PGC新闻客户端普遍采用的,因此,受到了人们欢迎的主要原因。
AAC主要是指算法产生内容的新闻客户端,例如:
今日头条,这种客户端是根据用户社交网络数据进行挖掘,然后,通过算法给用户提供感兴趣的信息。
这种类型符合时代的需求,但是,当前面临着内容版权问题、数据开放和完整性问题、算法的完善和准确等问题。
1.3相关技术简介
1.3.1Java语言
Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构的,中立的,可移植的,性能很优异的多线程的,动态的语言。
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性[2]。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
1.3.2MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于 Oracle 公司。
MySQL最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性[3]。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
1.3.3J2EE
J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:
1.保留现存的IT资产
由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。
这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。
J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBMCICS,IBMEncina,InpriseVisiBroker以及NetscapeApplicationServer。
这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。
每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。
由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。
2.高效的开发:
J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。
这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。
高级中间件供应商提供以下这些复杂的中间件服务:
状态管理服务--让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。
持续性服务--让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。
分布式共享数据对象CACHE服务--让开发人员编制高性能的系统,极大提高整体部署的伸缩性[4]。
3.支持异构环境
J2EE能够开发部署在异构环境中的可移植程序。
基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。
因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。
这在典型的异构企业计算环境中是十分关键的。
J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
4.可伸缩性
企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上。
例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。
(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。
能消除系统中的瓶颈,允许多台服务器集成部署。
这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。
5.稳定的可用性
一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。
因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。
若是意外停机,那会有灾难性后果。
J2EE部署到可靠的操作环境中,他们支持长期的可用性。
一些J2EE部署在WINDOWS环境中,客户也可选择稳定性更好的操作系统如Sun Solaris、IBMOS/390。
稳定性最好的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。
这是实时性很强商业系统理想的选择。
1.3.4Tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器,是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
因为Tomcat技术先进、性能稳定,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
目前Tomcat最新版本为8.0。
1.3.5Android
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。
Android操作系统最初由AndyRubin开发,主要支持手机。
2005年8月由Google收购注资。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
AndroidSDK指的是Android专属的软件开发工具包。
用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
使用Eclipse进行android应用开发需要给Eclipse装adt插件,这样Eclipse就可以和AndroidSDK建立连接,可以在Eclipse中启动Android模拟器进行程序调试等ADT插件安装这里不再累赘,插件的安装可以为URL,也可以下载adt的zip安装包。
安装完插件后,需要做一些简单的配置:
1.在Eclipse中,选择Window>Preference;
2.从左侧的菜单中,选择Android项;
3.设置SDKLocation,点Browse选择SDK的安装根目录。
第2章问题定义及可行性研究
2.1Android新闻客户端问题的定义
Android新闻客户端的主要功能是:
对新闻资讯进行实时更新,对新闻分类中的新闻信息查询,包括焦点、国内、国际、军事、体育等新闻资讯。
利用此新闻客户端,便于用户能实时地获取新闻信息,同时可对各类新闻信息发表评论。
使用手机新闻客户端获取新闻信息具有方便,快捷,实时,高效等优点。
实现新闻刷新,各类新闻资讯查询,新闻阅读,发表评论的功能。
2.2Android新闻客户端的可行性研究
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性研究的目的不是解决问题,而是确定问题是否值得去解。
可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计过程,也就是在较高层次上以比较抽象的方式进行的系统分析和设计的过程。
一般说来,我们至少应该从下述三方面研究每种解法的可行性:
1.技术可行性使用现有的技术能实现这个系统吗?
2.经济可行性这个系统的经济效益能超过它的开发成本吗?
3.操作可行性系统的操作方式在这个用户组织内行的通吗?
当然,可行性研究最根本的任务是对以后方针提出建议:
如果问题没有可行的解,最好停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解决,则应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。
构造基本框架。
对于Android新闻客户端,下面进行了可行性的论证。
2.2.1技术可行性
可行性研究最根本的任务是对以后的行动方针提出建议。
因此,可行性研究实际上是要进行一次大大压缩简化了的系统分析和设计的过程,为了进行下一步工作,这一步是必不可少的。
对于基于Android系统的新闻客户端,下面进行了可行性的论证。
根据新闻客户端所需的系统功能、性能及实现的各项约束条件,从软硬件的性能、环境条件、技术人员水平和数量等方面分析:
1.风险分析:
在给出的限制范围内,能否设计出客户端。
本新闻客户端的设计时间为期一个月,在此期间内能够完成对本客户端的设计,实现必要的功能。
2.资源分析:
研究开发系统的人员是否存在问题,可用于建立客户端的其它资源。
通过Java课程与Android课程的学习及课程设计的制作,已经对Eclipse这一开发工具有了一定的了解和认识,再加之已经对MySQL有较深的了解,并且软硬件都具备,在规定的时间内能够完成该新闻客户端的开发工作。
3.技术分析:
随着计算机应用和网络的发展,Eclipse等开发工具和MySQL等数据库已经足够完成软件的前台设计和后台数据库的设计。
因此,它在技术上是可行的。
本系统基于Android平台开发,并使用MySQL、Eclipse和Tomcat作为开发工具。
涉及技术已成熟,可以独立完成新闻客户端的开发。
2.2.2经济可行性
软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够多的经济效益,这款新闻客户端正是考虑为用户提高阅读效率,节省搜索时间,方便操作而设计的。
本APP的开发在经济上是完全可行的。
开发此软件不需要大量的经费,而且是个人设计,可以节省许多费用,同时也可提高个人的实际动手能力。
2.2.3操作可行性
本软件操作界面简单明了,采用客户端界面,用户只需用手指操作就可以完成新闻的查询与阅读。
本软件是参考现流行的今日头条新闻客户端界面而设计的全新UI界面。
界面亮丽、简单,按钮图标功能明确易懂,手机用户一眼就能分辨出来该图标是用来做什么的,无需任何技术基础。
由此可见,开发此软件在操作上是可行的。
通过对本系统调查分析,从便利用户的角度出发,本系统具有界面友好,操作简便,快速灵活等特点。
因此操作是可行的。
第3章需求分析
3.1需求分析阶段的任务
需求分析是软件生存周期的一个重要阶段。
它最根本的任务是确定待开发软件的功能、性能、数据、界面的要求,从而确定系统的逻辑模型。
具体地说,应该确定系统必须具有哪些功能和性能,以及系统要求的运行环境。
通过分析数据流和数据存储画出数据流图。
图形工具比文字叙述能更好地表达重要的细节,数据流图能极好地概括描述一个系统的信息。
需求分析的基本任务是准确回答“系统必须做什么?
”这个问题。
根据新闻客户端这一项目中需要建立科学高效数据管理的要求,此应用实现了新闻各类信息的浏览、刷新、分类和评论回复、新闻阅读等功能。
3.2系统功能的详细分析
3.2.1系统的总体需求
新闻客户端主要实现用户阅读相关新闻分类的新闻信息,并能够对新闻信息发表评论,包括获取新闻列表、新闻分类、获取不同分类新闻列表、实现加载(显示,更新)更多新闻、异步更新UI、获取新闻详情、异步加载新闻内容、新闻回复、浏览新闻回复信息、软件更新等功能。
由于在实际过程中数据会不断的变化,因此每个变化应记录到数据库中,保存详细的信息。
该应用是基于连接MySQL数据库进行开发的新闻客户端,旨在达到新闻阅读移动化,使新闻阅读更加方便、快捷。
3.2.2系统的数据流图
明确了新闻客户端的总体要求以及应用要实现的基本功能之后,要想使用户及有关的系统开发人员更能形象的了解这个系统的功能及其简单处理过程,需要一个良好的用来描述系统的逻辑结构,让用户及其它非专业人员也能形象的了解系统要完成的基本功能。
数据流图是一个很好的工具,它是逻辑系统的图形表示,即使不是计算机专业的人员也容易理解。
它是对系统的一次大大的压缩和简化,只考虑其中最主要的框架而不涉及具体的物理元素;只描述数据在系统各部分之间的流动和数据处理过程而不涉及系统功能的具体实现。
由于数据流图是逻辑系统的图形,它只是描述系统必须完成的基本逻辑功能,完全不考虑如何具体的实现这些功能,因此它是软件设计的很好的出发点。
本系统的数据流图,如图3-1所示:
图3-1系统数据流图
3.3开发环境
开发环境的操作系统是Windows7,Java环境使用的是jdk1.8,开发工具选择Eclipse,开发插件包括SDK、ADT、JDK,服务器使用Tomcat。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具。
Eclipse的插件机制是轻型软件组件化架构。
在客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。
已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。
插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。
Eclipse的设计思想是:
一切皆插件。
Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。
Eclipse基本内核包括:
图形API(SWT/Jface),Java开发环境插件(JDT),插件开发环境(PDE)等。
第4章总体设计
4.1总体设计阶段的任务
总体设计阶段,主要任务是怎样解决问题,并设计出解决问题的合理方案,最后把整个系统进行模块化,以便进行下一步的工作——详细设计。
在完成了需求分析之后,便进入了总体设计阶段,即确定系统的具体实现方案。
总体设计阶段的根本任务就是用比较抽象的概括的方式确定系统如何完成预定的任务。
也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。
客户端设计原则总体设计过程通常由两个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 新闻 客户端 设计 实现 修改