(2014届)“基于Android平台的新闻客户端的开发与设计”(终稿)--欧锦宏

韶关学院

毕业论文

题目:基于Android平台的新闻客户端开发学生姓名:欧锦宏

学号:10115011051

系(院):计算机科学学院

专业:计算机科学与技术

班级:10计算机一班

指导教师姓名及职称:程细柱讲师

起止时间:2013年6月——2013年11月

(教务处制表)

基于Android平台的新闻客户端开发

摘要:现在已是21世纪,时过境迁。可以说是一个信息时代。随着高速的网络发展,那时候寥寥数人才有的大哥大,已演变成人手一台的手机。随着高速的网络发展,传统的纸报业已渐渐适应不了这高速的生活,已演变成用移动设备就能浏览世界各地每时每刻所发生的新闻!这已经不是一个量的改变这么芝麻绿豆的事情了,还是一个质的飞跃!难道你们不想拥有一个自己写的新闻客户端,以随时随地都能畅快的阅读新闻吗?

本软件将选择Google的安卓系统作为开发平台。目前智能手机操作系统主要由Apple Ios、Android、Windows mobile、Blackberry、Symbian等。期中Android系统是Google 于2007年11月5日发布的基于Linux平台的开源手机操作系统。于2011年7月已占到全球智能手机操作操作系统市场份额的42%,其作为一款主流的智能手机操作系统,位列第一。

本软件将采用Android语言编写,Eclipse环境开发,数据库采用MySQL,服务器采用TOMCAT。

关键词:Android;Tomcat;Mysql;EclipseJava

NewsClient Baseing on Android Platform

Abstract:Times have passed and circumstances have changed.,It is21st century and we are in the middle of the era of information with highly-developed Internet,Few of us used to own a huge mobile phone while every one of us owns a smart phone today.To compare with the traditional media,newspaper can no longer be suitable for everyone who lives a high paced lifestyle,it is now becoming into an application which receives the breaking news in a flash!This is not a quantity change,or a qualitative leap!Don’t you want a News application which can help you get the news whenever it is and wherever you go?

The application is developed on Android which is created by Google.As we all know,there are Apple Ios、Android、Windows mobile、Blackberry、Symbian operation systems that most of the smart phnes are using.The very first version of Adroid system is released by Google on Nov.15, 2007,it's developed as an opening codes mobile phone OS basing on Linux system.As one of the mainstreams of the phone system,it takes up42%of market shares so far by July,2011,which stands out to be the first one.

This system has been developed with Android programming language and Eclipse developing environment,Using TOMCAT as server and processing data with MYSQL.

Keywords:Android;Tomcat;Mysql;Eclipse;Java

目录

1绪论 (1)

1.1选题背景及研究意义 (1)

2关键技术介绍 (1)

2.1Java语言 (1)

2.2MySQL (2)

2.3J2EE (2)

2.3.1不用摒弃已有的IT资产 (2)

2.3.2高效率的开发 (3)

2.3.3支持跨平台环境 (3)

2.3.4可伸展性 (3)

2.3.5稳定的安全性 (4)

2.4Tomcat (4)

2.5Android (4)

3系统分析 (5)

3.1需求分析 (6)

3.1.1功能需求 (6)

3.1.2用户种类 (6)

3.1.3性能需求 (6)

3.1.4软件开发环境需求以及运行 (7)

3.2可行性分析 (7)

3.2.1技术可行性 (7)

3.2.2经济可行性 (7)

3.2.3操作可行性 (8)

3.2.4运行上可行性 (8)

3.3数据流图 (8)

4系统详细设计 (9)

4.1系统设计原则 (9)

4.2Android客户端开发流程 (11)

4.3后台(服务器)总体设计 (12)

4.4功能 (12)

4.5数据库设计 (16)

4.5.1系统E-R图 (16)

4.5.2数据库结构设计 (17)

5系统实现 (18)

5.1Android页面布局 (18)

5.1.1主界面 (18)

5.1.2新闻详细界面 (20)

5.1.3新闻回复界面 (21)

5.2客户端的功能实现代码 (23)

5.2.1实现新闻栏目分类功能 (23)

5.2.2获取不同分类的新闻列表功能 (24)

5.2.3显示新闻详细内容功能 (25)

5.2.4新闻评论(回复)功能 (27)

5.2.5软件更新功能 (29)

5.3后台(服务器)的功能实现 (31)

5.3.1新闻管理 (31)

6系统测试 (39)

6.1软件测试前分析 (39)

6.2软件测试结果 (39)

6.2.1前台测试 (39)

6.2.2后台测试 (42)

总结 (47)

致谢 (48)

参考文献 (49)

附录 (49)

基于Android平台的新闻客户端开发

10计算机软件一班欧锦宏

指导老师:程细柱讲师

1绪论

Android平台下的新闻客户端是现代信息时代阅览新闻必不可少的一种软件。随着电子计算机的飞速发展,移动设备的普及及发达程度,再配合高速的网络,利用移动设配随时随地的浏览世界各地的新闻已不是痴人说梦。新闻客户端的重要性已不必细说了!

1.1选题背景及研究意义

随着时代的不断的发展与进步,基本每个人都配有一台手机或者一台移动设备。科技的日新积累,这些看似小小的东西已具备了相当于一台电脑所具有的功能。如今这个时代,越来越多的人都是网上浏览新闻,看报纸的人已经越来越少了,一台手机在手,几乎不出门就知道天下大事,这是那么令人兴奋的事情啊,最重要的还是当天发生的事情当天就有了。因此可见这个软件担当者举足轻重的作用,为什么我们不动手自己设计一个呢?

2关键技术介绍

2.1Java语言

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。在全世界兴起云计算和移动英特网的产业环境下,Java更具备了很大的优势跟前景。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人电脑、数据中心、游戏控制、超级计算机、移动平台和英特网,同时拥有全球最大的编程人群。

Java编程语言的风格十分接近C、C++语言。毕竟C和C++语言是编程语

言之母啊。Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java1.5版本中,Java又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

Java语言不跟一般的编写执行计算机语言和阐释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,如Linux,Windows,OX。从而实现了“一次编译、到处执行”的跨越平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也已在一定时间上降低了JAVA的运行效率,可以说是它的不足之处。

2.2MySQL

MySQL是一个关系型数据库管理系统,该软件又欧洲瑞典MySQL AB公司研发,目前被Oracle公司收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一块,这样就增加了速度并提高了灵活运用性,减少运行的时间。MySQL的SQL语句被用于访问数据库,设计的时候就设计成常用的标准话语言。MySQL软件采用了双双授权政策,它分别为两个版本,社区版和商业版,由于其体积小、速度快、成本低,加上开源这一特点,深的很多一般中小型网站的开发都悬着这种数据库语言作为网站数据库。

2.3J2EE

J2EE是一套截然不同于传统应用开发的总体技术架构,它虽然包含许许多多的组件,但可简化且规范应用系统的开发与部署,因此提高了可移植性、安全性与可再用价值。具体优点如以下几条:

2.3.1不用摒弃已有的IT资产

由于企业必须适应新的商业需求价值,利用现今已有的企业信息系统方面的投资,而不是重新制定全盘方案就变

-这样,一个以循循渐进的(而不是激进的,全盘否定的)方式建立在已有的系统之上的服务器端平台机制是每所公司迫切需要的。J2EE的总体架构就可以充分利用用户原来的投资,如一些公司使用的BEA Tuxedo、IBM CICS,IBM Encina,、Inprise VisiBroker以及Netscape Application Server。这之所以能成为可能是因为J2EE拥有广泛的巨头业界支持和一些重要的'企业计算'领域供应商或制造商的参与与支持。每一个供应商都对现有的客户提供了不需要抛弃自己原来的投资,进入可移植的J2EE领域的升级途径这一环节。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。可见它被运用只广泛。

2.3.2高效率的开发

J2EE允许公司把一些通用的、很复杂、底层的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了程序员开发时间。一些高级中间件供应商提供以下这些复杂的中间服务:

状态管理服务--让开发人员编写更少的代码,不必关心如何管理,是需把集中精力放在编写功能,就可以了。

持续性服务--让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更便巧,与数据库无关的应用程序,这种应用程序更易于维护与研发。

分布式共享数据对象CACHE服务--让开发人员编制高性能的系统,极大程度地提高整体部署的性能。

2.3.3支持跨平台环境

J2EE能够开发在异构环境中的可移植程序。基于J2EE的应用程序不必依赖任何特定操作系统、硬件、软件。因此设计合理的基于J2EE的程序只需开发一次就可部延生到各种平台。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了很多由自己开发整个系统所需要的人力物力,从而大大减少了开发费用。

2.3.4可伸展性

企业必须要选择一种服务器平台,这种平台应能提供极佳的可伸展性去满足那些在系统上进行商业运作的大批新老客户。鉴于JAVA-J2EE平台的应用程序可被开发到各种平台上面去。例如可被开发到高端UNIX与大型机系统,这种系统的单机可支持64至256个处理器。它允许多台服务器集成开发。这种开发可达数千个处理器,实现可高度伸展的系统,满足未来大型商业化的需求。

2.3.5稳定的安全性

一个出色的服务器平台应该是可以每天24小时运作来满足公司客户,合作伙伴的不定期需求。因为现在网络是全球化的,遍布全世界,因此人们才划分了市区。当我们休息的时候另一部分的人就要开始起来工作,因此对服务器来说,是没有夜间休息这么一说。若是意外停机,那会产生灾难性的后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择稳定性更好的操作系统如Sun Solaris、IBM OS/390。鲁棒性最好的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这才理想的符合人们需求的商业系统。

2.4Tomcat

Tomcat是一个开放源码的免费的Web应用服务器,属于中轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下都能被普遍使用,是开发和调试JSP程序应用的首选。对于一个初学者来说,就当在一台机器上配置好Apache服务器,可利用它对HTML页面响应进行访问请求。实际上Tomcat是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上是独立于Apache的另一个进程。

诀窍是,当配置正确时,Apache对HTML页面进项服务响应,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器,毕竟已开始他设计就是面对轻量级应用服务器。目前Tomcat最新版本为8.1.1-RC1(alpha)Released。

广大的程序员都很喜欢Tomcat服务器,因为它运行时占用系统内存小,扩展性好,支持负载平衡等常用功能;并且它还在不断的完善和改进中,任何一个感兴趣的程序员都可以更改它或根据需求编写自己服务器。

2.5Android

Android是一种由Google公司开以Linux的自由及开放源代码的操作系统,主要使用于移动平台,目前还在不断的完善功能。尚未有统一的中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin 开发,主要支持手机。2005年8月由Google收购。于2007年11月,Google 与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,正式公布免费,并开源其代码。第一部Android智能手机发布于2008年10月。Android逐渐扩

展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Androi手机在全球的市场份额首次超过塞班跟苹果系统,跃居世界第一。2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,在中国竟然达到90%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台,未来还会呈现指数增长,已经成为第一大移动平台的操作系统。

Android原来的意思是指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

Android最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中。他将外表像人的机器起名为Android。

Android的Logo是由Ascender公司设计的,已经诞生了三年了,其设计灵感源于厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,头上还有两根天线,它的躯干就像锡罐的形状,就这样小机器人图样便诞生了。其中的文字使用了Ascender公司制作的称之为“Droid”的字体。它是一个全身绿色的机器人,绿色也可以说Android的标志。颜色采用了PMS376C和RGB中十六进制的#A4C639来绘制,这是他的特征。有时候,它们还会使用纯文字的Logo。2012年7月美国科技博客网站BusinessInsider评选出二十一世纪十款最重要电子产品,Android操作系统和iPhone等榜上有名。

3系统分析

系统分析是指在开发的生命周期中分析各项方法和活动的阶段,应用整体架构和科学原理来进行分析阶段工作的准备。

项目开发主要分为三个部分:UI设计、事件逻辑处理设计、编写JAVA外开发接口程序(服务器)。

其中软件涉及到的相关技术:UI设计能力、Mysql数据库技术、AsyncTask 异步更新UI技术、Android设计程序基础、JAVA设计程序基础、解析JSON格式技术、Android中的HTTP通信、Web项目开发技术。

环境相应配置:配置安装Tomcat服务器、配置安装MySQL数据库、Eclipse 软件开发、编写接口程序。

3.1需求分析

3.1.1功能需求

通过观察先今存在的新闻客户端软件,要求本系统应该具有以下几个功能:1)获取新闻列表功能;

2)新闻分类功能;

3)获取不同分类新闻列表功能;

4)实现加载(显示,更新)更多新闻功能;

5)异步更新UI功能;

6)获取详细新闻功能;

7)异步加载新闻内容功能;

8)新闻回复功能;

9)浏览新闻回复信息功能;

10)软件更新功能;

11)管理新闻功能;

3.1.2用户种类

1)普通人群

因为是一个免费的新闻客户端,只要有安卓平台就可以下载来使用,因此是一开对买开放的任何人群都可以使用的软件。

2)管理员

说到新闻客户端,就是客户端读取服务器的信息通过HTTP方式返回信息,那么必定要有一个管理员来管理那些新闻以及用户的评论等,因此必须要设计一个超级管理员来管理用户新闻。

3.1.3性能需求

1)系统响应时间原则上不大于0.5s

2)整个系统运行占用存储空间在5MB以下

3)使用异步处理信息,这样不会卡死

3.1.4软件开发环境需求以及运行

(1)软件运行环境:

Windows XP或以上版本;安卓平台的手机等

(2)开发环境

开发语言:android语言,java语言

开发软件:Eclipse、Myeclipse

开发插件:SDK,ADT,JDK

数据库:Mysql

数据库管理软件:Navicat Premium

服务器:Tomcat

3.2可行性分析

可行性分析是对项目的可行程度进行分析,以便管理层对技术及资金的投入进行决策,其主要包括技术可行性、经济可行性、操作可行性等。

3.2.1技术可行性

随着计算机应用和网络的发展,eclipse等开发工具和mysql等数据库已经足够完成软件的前台设计和后台数据库的设计。本系统有效地减少纸质试卷的使用,也减少批改客观题、统计成绩和发布成绩的时间。从而提高考试、批改试卷、统计成绩的效率。各级用户根据不同的权限对系统有不同的操作,保证系统数据的安全性,其他人无法修改数据。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。本系统基于ANDROID 平台开发,并使用MySQL、MyEclipse8.2、Eclipse和Tomcat作为开发工具。涉及技术已逐渐成熟,可以独立完成新闻客户端的开发。

3.2.2经济可行性

该软件完全可以使用现有技术进行开发,并可实现客户要求的全部功能。开发时间较充裕,开发成本不高,并且功能复合日常生活需要,请人有谁是一点都不关注社会上的新闻呢?我想答案是没有的吧,加上现在移动设备上网消费不高,大众都消费得起,所以用网络来浏览新闻是不存在问题的,综上所述,本客

户端在经济上市可行的。

3.2.3操作可行性

本系统界面操作简单明了,本软件是参考现流行的百度新闻客户端界面而设计的全新UI界面。界面朴素,简单,按钮图标功能明确易懂,人们一眼就能分辨出来该功能是做什么的,无需任何技术基础。由于安卓不同苹果系统,基于免费条款,系统开源,因此觉得做出来的成品不错还可以放上网供人们使用,当然赚钱费用问题这里不详谈,不是本篇的重点。一软件在手,操作无忧。因此从操作来说完全没问题。

3.2.4运行上可行性

本系统为一个小型的安卓客户端软件,大多数应用在安卓手机上,系统所占的空间不大于5MB,所耗费的资源非常的小,无论什么硬件水平的安卓手机都可以运行起来,并且不占据很多内存。因此,本系统在运行上是完全可行的。

3.3数据流图

我们在做软件前期的一种重要的准备工作就是做好抽象出系统之间的不同试图。首先本软件有两大块。一个是新闻客户端,另一个就是用J2EE技术编写的一个WEB服务器,里面主要包含一个数据处理的DAO层,和用于客户端交互跟数据交互的Servlet层。(由于本软件业务逻辑处理比较简单因此没有编写service层)具体如图3-1所示。

图3-1基础逻辑构图

4系统详细设计

经过需求分析阶段的工作之后,已经很清楚系统必须做什么了,现在该是决定“如何去做”的时候了。通过这个阶段的细想准备工作将划分出组成系统几个东西:程序、文件、数据库、文档等。系统设计阶段的一个非常重要的任务是设计软件的结构体系,也就是确定该软件每个系统都有哪些模块构成的,以及这些模块相互之间的作用。

4.1系统设计原则

本系统的设计遵循以下设计原则:

(1)实用性:经过调差如今全世界百分之50的人都在用安卓系统的手机,如实的按照现今的新闻客户端软件功能实现出来,实用又免费。

(2)可靠性:新闻客户端的软件设计、数据库设计等各方面要充分考虑可靠性,采用目前已经大多数流向市场的技术,安全又可靠。

(3)安全性:系统安全性是非常重要的,因为它包含了很多很重要的机密信息,不能公开的,如果安全性做的不好,会造成很多用户的损失。

(4)友好性:系统界面要友好,操作方面上要求简单方便,便于用户们操作运行。

(5)可扩展性:本代码的编写都明确分开封装好,需要加什么功能完全不需要改动太多源代码上就可以添加实现。

(6)合适性:设计系统最大的动力,就是有以商业目的为准则的设计出同时满足客户但又不是不惜代价的去设计,而是寻求最大利益化。

(7)结构稳定性:体系结构是系统设计的第一要素,详细设计阶段的工作如用户界面设计,数据库设计,模块设计,数据结构设计等等,都是在体系结构确定之后开展的,而编程和测试是最后面的工作。如果体系结构经常变动,那么建筑在体系结构之上的用户界面、数据库、模块、数据结构等也跟着经常变动,用“树倒猢狲散”来比喻很恰当,这将导致项目发生混乱。

4.2Android客户端开发流程

图4-1Android客户端开发流程图

4.3后台(服务器)总体设计

图4-2后台(服务器)总体设计图4.4功能

本系统的主要功能有:

(1)获取新闻列表功能;

(2)新闻分类功能;

(3)获取不同分类新闻列表功能;

(4)实现加载(更新)更多新闻功能;

(5)异步更新UI功能;

(6)获取详细新闻功能;

(7)异步加载新闻内容功能;

(8)新闻回复功能;

(9)浏览新闻回复信息功能;

(10)软件更新具体功能;

(11)新闻管理;

图4-3功能流程图图

图4-4软件更新流程图

图4-5新闻管理流程图

相关文档
最新文档