最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

新闻客户端App的设计与实现

IT圈 admin 44浏览 0评论

2024年2月8日发(作者:枚雪枫)

新闻客户端App的设计与实现

本科毕业设计

本科毕业论文

目录

前 言 ............................................................. 2

1. 系统分析 ......................................................... 3

1.1

研究目标 ........................................................................................................................................................... 3

1.2

可行性分析 ....................................................................................................................................................... 3

1.3

需求分析 ........................................................................................................................................................... 3

1.4

性能分析 ........................................................................................................................................................... 4

2. 环境搭建 ......................................................... 4

2.1

配置JAVA环境 .................................................................................................................................................. 4

2.2

ECLIPSE的安装 ................................................................................................................................................... 4

2.3

安装ECLIPSE

STANDARD

4.3.2 .......................................................................................................................... 4

2.4

安装TOMCAT服务器 ........................................................................................................................................ 4

2.5

安装MYSQL数据库 .......................................................................................................................................... 5

3. 系统设计与实现 ................................................... 5

3.1

概要设计 ........................................................................................................................................................... 5

3.1.1 模块设计 ......................................................................................................................... 5

3.1.2 功能设计 ......................................................................................................................... 6

3.2详细设计 ........................................................................................................................................................... 7

3.2.1 用户界面设计 ............................................................................................................... 7

3.2.2 数据库设计 ................................................................................................................... 7

3.3

功能的实现 ....................................................................................................................................................... 9

3.3.1 文件结构与说明 ............................................................................................................. 9

3.3.2 具体实现 ....................................................................................................................... 12

4. 系统测试 ........................................................ 15

4.1

软件的测试 ..................................................................................................................................................... 15

4.2

测试与实现的结果及说明 ............................................................................................................................. 15

结束语 ............................................................ 19

2

本科毕业论文

摘要

随着全球智能手机的飞速发展,智能手机操作系统之间的竞争越来越激烈。 为了使智能手机用户能够很方便地了解当前世界的实时信息,有效的方式是查看扩展到移动终端的新闻功能。 因此,智能手机新闻客户的发展前景广阔。

本文基于Android操作系统,开发了Android手机新闻客户端应用程序,通过Eclipse的工具书写逻辑代码,Apache Tomcat6.0作为应用服务器,根据数据量的要求,使用Mysql数据库处理数据 ,共同开发android新闻客户端手机软件。

在本文中,分析了Android系统软件开发原理的技术水平,开发为用户提供更加人性化,更方便的基于Android手机新闻客户端软件。 通过实践和测试,本文介绍的原理和方法可以完成所需功能的设计。

关键词:Android;新闻客户端;智能手机

1

本科毕业论文

Abstract

With the rapid development of the global smart phone, smart phone operating

system between the increasingly fierce competition. In order to make smart phone

users can easily understand the current world of real-time information, an effective

way is to view the extended to the mobile terminal news function. Therefore, the

prospects for the development of smart phone news customers.

This article based on the Android operating system, developed the Android

mobile news client application, through the Eclipse tool to write logic code, Apache

Tomcat6.0 as an application server, according to the amount of data requirements,

the use of Mysql database processing data, joint development android news client

mobile application.

In this paper, the analysis of the Android system software development

principles of the technical level, the development of users to provide more

user-friendly, more convenient based on the Android mobile news client software.

Through practice and testing, this paper describes the principles and methods to

complete the required functional design.

Keywords:Android; News Client; Smart phone基于Android的新闻客户端的设计与实现

2

本科毕业论文

前 言

Android应用程序平台的新闻客户端软件是基于Android手机平台上,使用Java平台,从网络打开新闻接口获取的数据,专为采用Android平台的手机新闻客户端信息的实时控制的移动应用。

Android平台新闻客户端软件开发可以进一步扩大当前新闻的覆盖面,使广大市民可以轻松快捷地获取最新的新闻信息,了解当前的消息,软件的广泛应用,特别是在传授知识,普及教育中扮演着一个非常重要的角色。

目前市场研究公司Worldpanel去年第四季度发布了全球主要的智能手机操作系统,该报告指出,谷歌的Android继续保持增长态势,但增长明显放缓。另一方面,苹果iOS操作系统在全球手机市场只有下降,个别国家甚至下降了10.3%。最新统计显示,Android操作系统将继续引领全球市场,其中包括美国,澳大利亚,中国,意大利,英国,德国,西班牙等在内的市场份额已经超过50%,并将继续向上展现趋势。在苹果iOS操作系统中,全国最大的市场份额仍是美国,同比增长43.9%;其次是美国是澳大利亚,值35.2%;而在中国,市场份额从21.2%下降到19%;在意大利,iOS的市场份额从23.1%下降到12.8%。

从以上数据可以看出,Android手机软件开发具有很大的发展前景,在Android系统开发手机新闻客户端软件中支持用户数量也与其他系统相比更多。

Google的移动平台总监Andy Rubin表示,与软件开发合作伙伴的密切联系正在进行中。 谷歌和开放移动联盟共同开发了Android操作系统,由摩托罗拉,高通,HTC,中国移动和T-Mobile的联盟,包括一些无线应用和技术的领导者。 谷歌正与制造商,开发商,运营商和其他利益相关方合作,建立一个开放的、标准化的移动手机软件平台来创建移动行业的开放的生态系统,这将是Android平台的发展在未来的机会。

2

本科毕业论文

1. 系统分析

1.1 研究目标

(1)了解Android应用程序设计和开发过程;

(2)使用各种组件为Android平台新闻软件开发。

这款手机新闻客户端软件是用java语言编写的,基于Eclipse开发平台,连接网络新闻数据界面,为Android平台新闻客户端手机软件开发。

1.2 可行性分析

开发任何基于移动的应用程序将受到资源和时间的限制。 因此,在收到任何应用任务之前,您必须根据用户提供的资源和时间条件进行可行性分析,以降低项目开发的风险,避免浪费人力,财力和物力。 风险分析和可行性分析在许多方面是相互关联的。 项目的风险越大,开发高质量软件的可能性就越小。

(1)经济可行性

使用移动数据流量作为通信手段,当今通信技术的飞速发展,2G运营商的GSM网络已经逐渐被当今的3G取代,甚至4G,数据流量都越来越低,现在手机都可以连接无线wifi,实现数据流量0费用,大大增强了这款新闻阅读软件的经济可行性。

(2)技术可行性

开发一种新闻客户端软件,使用的技术不会太复杂,最多的是用到客户端和服务器的数据交换使用servlet和通用数据库技术,android系统下解析json数据和UI设计,查询相关信息可以实现。

1.3 需求分析

程序启动后可以实时新闻更新,可以分为不同的部分,让用户了解任何感兴趣的信息阅读,同时可以对新闻和信息感兴趣,表达自己的意见、评论等,用户可以看到其他人发表的评论,以便交互,增强用户的体验感,用户可以拉下新闻列表,操作方便。 从上面的描述可以对软件的功能要求进行基本的了解:

(1)启动程序;

3

本科毕业论文

(2)设置界面:使用各种布局嵌套,美化控控件。。

(3)显示界面:模仿网易新闻客户端编写UI。

(4)详细界面:分为头条、足球、娱乐、体育、财经、科技、电影、汽车、笑话、时尚、情感、精选等板块

1.4 性能分析

从用户的角度来看,针对用户的需求,涉及到的程序快速响应,信息处理速度快,安全性高是用户需要三大表现,除了更广泛的受众之外,根据目前的Android 设备系统版本的配置,android4.0及以上版本的设备总数占97%以上,所以当开发的最低选择android系统也必须是android4.0来保证用户数量。

2. 环境搭建

2.1 配置Java环境

采用jdk的版本是jdk1.6,目前jdk版本最高的是jdk1.8,但是为了程序的稳定性,还是采用已经稳定成熟的版本作为开发工具。

从Oracle公司下载jdk1.6安装后,由于机器的开发系统是win8 64位操作系统,请选择下载64位jdk,然后按照步骤一步一步的安装jdk,然后再安装 配置环境java环境变量,jdk的整个过程完成。

2.2 Eclipse的安装

Eclipse从官方网站/downloads/下载,根据系统下载适当版本的Eclipse,点击解压就行,然后在上启动。 值得注意的是,Eclipse和jdk中的位数一致,也就是说,如果jdk是32位,那么Eclipse应该是32位的。

2.3安装Eclipse Standard 4.3.2

Eclipse Standard 4.3.2版本用于做服务器端程序,方法和Eclipse类似。

2.4 安装Tomcat服务器

从http:/下载tomcat6.0作为的服务器,下载好文件后开始安装,点击下一步,在安装过程中会提示设置默认的服务器端口号,若是不做修改默认为8080,建4

本科毕业论文

议不要修改,安装完成。

从http:/下载tomcat6.0作为服务器,安装下载好的文件,点击安装过程中的下一步将提示设置默认的服务器端口号,如果没有默认修改为8080,建议不修改,完成安装。

在Eclipse中为JavaEE建服务器时将刚安装的tomcat作为服务器即可。

2.5 安装Mysql数据库

现在有很多类型的数据库,如oracle,sqlserver,mysql,access等等多种,设计开发的数据并不是很多,所以选择一个轻量级的数据。

3. 系统设计与实现

3.1 概要设计

3.1.1 模块设计

该软件分为两个模块,即新闻客户端模块和服务器模块。

图形分析可以清楚地看到程序的功能和过程,图1是移动客户端流程图:

新闻界面

服务器接收指令

接收服务器的

数据

显示在界面

图1. 手机客户端流程图

服务器端的流程如图2所示:

客户端

服务器接收指令

5

本科毕业论文

生成sql语句

显示在

调用sql类

数据库操作

3.1.2 功能设计

图2.服务器流程图

返回结果

手机客户端模块功能结构如图3所示:

新闻客户端

内容管理

头条

足球

娱乐

体育

财经

科技

电影

汽车

图3.客户端功能结构图

服务器端模块功能结构如下图4所示:

服务器端

数据库配置

数据模型配置

数据交互管理

数据解析配置

数据转换工具

图4.服务器端功能结构图

6

本科毕业论文

3.2详细设计

3.2.1 用户界面设计

根据需求分析,应用程序应包括三个主要用户界面,进一步分析每个用户界面中应包含哪些内容。

(1)在“新闻资料页面”中,需要显示各种新闻的标题,然后在选择当前列中显示的信息的第一部分中选择相应的新闻信息,ListView表单中的信息界面,用户可以拖动获取内容,最后一个按钮加载更多,用户点击后可以获得更多内容。

(2)在“详细新闻页面”中,用户点击一个消息,可以进入详细的新闻界面,界面会显示当前的新闻标题,发布时间和作者,点击详细信息新闻区向左滑动退出页面。

下图就是根据对新闻界面显示内容的分析,绘制出用户界面的草图。

图5. 界面草图

3.2.2 数据库设计

该软件是需要存储大量新闻信息的程序,包括新闻阅读和用户评论信息,这些数据来自

7

本科毕业论文

数据库查询不是缓存数据,所以最终使用数据库,Mysql数据库为我们管理数据提供方便,易于理解。如图6所示的是新闻栏目的E-R图:

新闻栏目

标题

序列

编号

图6. 新闻栏目E-R图

如下图7所示的是新闻详细内容的E-R图:

标题

新闻编号 栏目编号

来源

新闻栏目

内容

摘要

序列

编号

图7. 新闻详细内容E-R图

本软件中有张两表的数据需要存储,因此在MySql中分别建立两张表。新闻类别分类表category,新闻内容表news。两张表分别如下表所示:

表1. 新闻类别分类表category的结构

属性

cid

title

sequnce

数据类型

integer

String

text

表2. news的结构

说明

编号

名称

序列

属性

nid

cid

title

body

source

ptime

数据类型

integer

integer

String

String

String

String

8

说明

编号

类号

标题

正文

新闻来源

发布时间

本科毕业论文

imgsrc

summary

sequence

text

String

int

图片来源

摘要

序列

仔细分析可得出,后台服务是整个应用的核心,主要是“数据采集”,用户点击操作,后台服务接收用户指令到服务器接口的调用收据,服务器接收命令 ,从服务器增删改查,然后将信息返回给客户端,以便用户获取必要的新闻和信息来满足客户需求。

服务器端的代码的主要功能是数据库的操作,通过客户端使用servlet技术传递指令来查询数据库,然后与客户端返回json数据格式数据,实现数据互操作,简单,方便,移动客户端接收时间也可以非常方便的解析出来,显示在用户界面中。

完成用户界面设计,服务器和数据库设计后,软件设计阶段的框架基本完成。

3.3功能的实现

3.3.1 文件结构与说明

(1)客户端开发部分

在程序开发阶段,首先确定了“Android平台的新闻客户端”的项目名为“QuickNews”,按照程序模块的设计内容,建立“QuickNews”的项目。

项目源代码的结构和功能如图8所示。

9

本科毕业论文

图8.“新闻快讯”工程的源代码文件

为了使源代码文件的结构更加清晰,“QuickNews”项目设置了一些命名空间,包的作用如下表所示。

表3. “快看新闻”工程的文件用途说明

包 名 称

com.

r

ty

ty

文 件 名

说 明

新闻栏目的bean类

新闻栏目标题的适配器

包内所有文件

String数据转化成int的工具类

主新闻界面的Activity

新闻详细内容的Activity

互联网上开源的http异步访问框架结构

Android中的资源文件保存在/ res的子目录中。 其中,/ res / drawable /目录保存了图像文件中,/ res / values目录存储了自定义字符串、颜色文件和样式文件,/ res / xml目录保存了.xml格式的数据文件,/ res / layout目录存储了UI布局文件中。 / res / anim目录包含所有动画控制文件。 在程序开发阶段可以调用的所有资源都存储在这些目录中。 具体文件图如图9所示。

10

本科毕业论文

图d资源文件图

(2)服务器端Eclipse Standard的开发部分

通过访问接口或地址实现,代码如下:

public class Url {

public static final String host = "/";

public static final String endUrl = "-";

public static final String endDetailUrl = "/";

// 头条

public static final String TopUrl = host + "nc/article/headline/";

public static final String TopId = "T07";

// 新闻详情

public static final String NewDetail = host + "nc/article/";

// 足球

public static final String CommonUrl = host + "nc/article/list/";

public static final String FootId = "T17";

// 娱乐

public static final String YuLeId = "T39";

11

本科毕业论文

// 体育

public static final String TiYuId = "T62";

// 财经

public static final String CaiJingId = "T99";

// 科技

public static final String KeJiId = "T92";

// 电影

public static final String DianYingId = "T48";

// 汽车

public static final String QiChiId = "T88";

// 笑话

public static final String XiaoHuaId = "T135";

// 笑话

public static final String YouXiId = "T79";

// 时尚

public static final String ShiShangId = "T03";

// 情感

public static final String QingGanId = "T00";

// 精选

}

3.3.2 具体实现

主要新闻页的设计与实现

(1) 页面定义的开始需要定义适配器的控件和新闻部分。

点击新闻部分,MainActivity将显示新闻信息的相应部分,如果新闻下的列将显示,如果没有消息,则会出现“本节中没有信息”,如果手机 无法连接到网络会提示“网络无法连接”,很清楚地告诉用户现在处于状态。

12

本科毕业论文

客户端使用异步http访问框架,其中CustomHttpClient类非常方便异步访问类,它是一个很好的包,只需提供接口地址和参数,就可以方便地访问接口获取数据,并且不再写回调方法, 只需要在CustomHttpClient中的cilent对象获取或发布请求方式来访问接口,然后重写两个方法,一个是getFromWebByHttpClient(),另一个是PostFromWebByHttpClient(),其中getFromWebByHttpClient()方法是访问接口成功 ,所获得的数据将可以从方法的EntityUtils获得,然后进行相应的解析,并且由于接口错误或网络错误或返回错误消息时请求数据时,PostFromWebByHttpClient()方法将被执行。

(2) 在访问接口成功之后,服务器将得到一个json数据,我们要做的是解析它,然后将其填入我们的页面显示,解析页面以接收json格式数据的各个部分, 需要导入json包支持,请参见附录A.

(3) 在界面退出时,重写onKeyDown()方法来确定是否按下后退按钮,然后提示再次按界面退出程序,两次运行的时间间隔超过两秒钟 撤销无效,两秒钟完成退出操作,具体界面退出代码见附录。

新闻的详细页面的设计和实现:

(1)页面初始化

首先初始化一些控件和变量的变量,如前一页按钮,下一页按钮和手指触摸屏幕上的起点坐标坐标X,起始坐标Y等 相关控制和变量。

(2)数据库管理类是连接数据库配置属性的角色,包括数据库主机地址、数据库名称、数据库端口、数据库密码、连接字符串、连接对象。

使用以下代码配置资源文件和JDBC驱动程序类型:

public class SQLHelper extends SQLiteOpenHelper {

public static final String DB_NAME = "";// 数据库名称

public static final int VERSION = 1;

public static final String TABLE_CHANNEL = "ChannelItem";// 数据表

13

本科毕业论文

public static final String ID = "id";//

public static final String NAME = "name";

public static final String ORDERID = "orderId";

public static final String SELECTED = "selected";

private final Context context;

public SQLHelper(Context context) {

super(context, DB_NAME, null, VERSION);

t = context;

}

public Context getContext() {

return context;

}

@Override

public void onCreate(SQLiteDatabase db) {

// TODO 创建数据库后,对数据库的操作

String sql = "create table if not exists " + TABLE_CHANNEL +

"(_id INTEGER PRIMARY KEY AUTOINCREMENT, " +

ID + " INTEGER , " +

NAME + " TEXT , " +

ORDERID + " INTEGER , " +

SELECTED + " TEXT)";

L(sql);

14

本科毕业论文

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO 更改数据库版本的操作

onCreate(db);

}

}

4. 系统测试

4.1 软件的测试

软件测试的目的,首先是确认android新闻客户端是否可以运行,其中一个方面是确认软件是否完成了这些功能的设计。 二是提供信息,如提供反馈信息,看看上述哪些步骤可以精简,可以改进。 第三是测试新闻客户本身,而且还包括整个开发过程。 如果这个消息客户端的开发完成后有很多问题,那就显示出这个开发过程有漏洞。

4.2 测试与实现的结果及说明

(1)真机测试

右键单击项目名称,然后选择“Run As”,或单击菜单栏上方的按钮后选择“Android Application”。出现如图10所示:

,然

15

本科毕业论文

图10. 选择测试工具图

为什么要使用真实的机器进行测试,因为用户正在使用真实的机器,并选择使用模拟器来做,有两个缺点。

模拟器反应过慢

测试结果在真机上观看方便

(2)启动移动新闻客户端

在屏幕上选择“新闻快讯”如图11:

图11. 新闻页面的图标

(3) 转到欢迎界面如图12所示:

16

本科毕业论文

图12. 载入欢迎界面效果图

(4)然后是显示主要新闻界面的内容,界面将设计的前端显示为要修改的简单界面,界面包含软件名称、刷新按钮、新闻列表、下一栏按钮,新闻列表并加载更多的按钮,所有新闻在ListView里面的界面只会显示六个消息,滑动界面可以查看更多消息,点击加载更多按钮加载更多新闻加ListView显示在界面上,具体效果如图所示在图13中显示:

17

本科毕业论文

图13. 主新闻页面效果图

(5)点击新闻列表中的新闻项目,选择查看新闻详细信息,因为主要新闻页面只能看到新闻内容的预览,新闻页面可以看到标题,细节,来源和已发布的消息 时间,具体效果如图14所示:

18

本科毕业论文

图14. 新闻详情页面效果图

测试小结:经过一系列测试,本新闻客户端软件基本完成了预期功能,系统的稳定性也较好。

结束语

经过几个月的不懈努力,Android平台新闻客户端软件终于完成,用户可以通过这个新闻客户端了解当前的新闻事件,为Android平台的开发需要大量的Java基础知识,在这方面Java 语言我有很多方便。 在整个开发和设计过程中,我学到了很多Android平台知识,如Android UI设计优化,风格设计,Activity,Service,BroadcastReceiver,ContentProvider等四个组件的使用和Eclipse,Tomcat,Mysql等开发工具的熟练使用。

19

本科毕业论文

虽然软件和已有的消息客户端软件相比有一定的差距,但这并没有引起我对Android平台发展的兴趣,但这是一个激励我的事情,我发现了很多我的不足之处,然后我可以更仔细地学习,掌握更先进的编程技术,设计更系统,更好的使用Android软件。

经过软件的设计和实践,老师在课堂上和自己的额外时间学习知识做一个总结。 一方面是一个好地方,另一方面也有缺点。 这是我们立即毕业的警告。 虽然学校学到的知识可能不会用于很多工作,但我们在学校学到的是学习方法,因为在任何阶段,人们总是需要继续不停的学习。

在今后的工作和学习,我会保持积极的心态,遇事要小心,仔细分析,在软件开发这个职业生涯中,需要充分发挥自己的想法和敏锐,因为软件开发升级速度非常快,不想被淘汰不能停止学习的步伐。

20

2024年2月8日发(作者:枚雪枫)

新闻客户端App的设计与实现

本科毕业设计

本科毕业论文

目录

前 言 ............................................................. 2

1. 系统分析 ......................................................... 3

1.1

研究目标 ........................................................................................................................................................... 3

1.2

可行性分析 ....................................................................................................................................................... 3

1.3

需求分析 ........................................................................................................................................................... 3

1.4

性能分析 ........................................................................................................................................................... 4

2. 环境搭建 ......................................................... 4

2.1

配置JAVA环境 .................................................................................................................................................. 4

2.2

ECLIPSE的安装 ................................................................................................................................................... 4

2.3

安装ECLIPSE

STANDARD

4.3.2 .......................................................................................................................... 4

2.4

安装TOMCAT服务器 ........................................................................................................................................ 4

2.5

安装MYSQL数据库 .......................................................................................................................................... 5

3. 系统设计与实现 ................................................... 5

3.1

概要设计 ........................................................................................................................................................... 5

3.1.1 模块设计 ......................................................................................................................... 5

3.1.2 功能设计 ......................................................................................................................... 6

3.2详细设计 ........................................................................................................................................................... 7

3.2.1 用户界面设计 ............................................................................................................... 7

3.2.2 数据库设计 ................................................................................................................... 7

3.3

功能的实现 ....................................................................................................................................................... 9

3.3.1 文件结构与说明 ............................................................................................................. 9

3.3.2 具体实现 ....................................................................................................................... 12

4. 系统测试 ........................................................ 15

4.1

软件的测试 ..................................................................................................................................................... 15

4.2

测试与实现的结果及说明 ............................................................................................................................. 15

结束语 ............................................................ 19

2

本科毕业论文

摘要

随着全球智能手机的飞速发展,智能手机操作系统之间的竞争越来越激烈。 为了使智能手机用户能够很方便地了解当前世界的实时信息,有效的方式是查看扩展到移动终端的新闻功能。 因此,智能手机新闻客户的发展前景广阔。

本文基于Android操作系统,开发了Android手机新闻客户端应用程序,通过Eclipse的工具书写逻辑代码,Apache Tomcat6.0作为应用服务器,根据数据量的要求,使用Mysql数据库处理数据 ,共同开发android新闻客户端手机软件。

在本文中,分析了Android系统软件开发原理的技术水平,开发为用户提供更加人性化,更方便的基于Android手机新闻客户端软件。 通过实践和测试,本文介绍的原理和方法可以完成所需功能的设计。

关键词:Android;新闻客户端;智能手机

1

本科毕业论文

Abstract

With the rapid development of the global smart phone, smart phone operating

system between the increasingly fierce competition. In order to make smart phone

users can easily understand the current world of real-time information, an effective

way is to view the extended to the mobile terminal news function. Therefore, the

prospects for the development of smart phone news customers.

This article based on the Android operating system, developed the Android

mobile news client application, through the Eclipse tool to write logic code, Apache

Tomcat6.0 as an application server, according to the amount of data requirements,

the use of Mysql database processing data, joint development android news client

mobile application.

In this paper, the analysis of the Android system software development

principles of the technical level, the development of users to provide more

user-friendly, more convenient based on the Android mobile news client software.

Through practice and testing, this paper describes the principles and methods to

complete the required functional design.

Keywords:Android; News Client; Smart phone基于Android的新闻客户端的设计与实现

2

本科毕业论文

前 言

Android应用程序平台的新闻客户端软件是基于Android手机平台上,使用Java平台,从网络打开新闻接口获取的数据,专为采用Android平台的手机新闻客户端信息的实时控制的移动应用。

Android平台新闻客户端软件开发可以进一步扩大当前新闻的覆盖面,使广大市民可以轻松快捷地获取最新的新闻信息,了解当前的消息,软件的广泛应用,特别是在传授知识,普及教育中扮演着一个非常重要的角色。

目前市场研究公司Worldpanel去年第四季度发布了全球主要的智能手机操作系统,该报告指出,谷歌的Android继续保持增长态势,但增长明显放缓。另一方面,苹果iOS操作系统在全球手机市场只有下降,个别国家甚至下降了10.3%。最新统计显示,Android操作系统将继续引领全球市场,其中包括美国,澳大利亚,中国,意大利,英国,德国,西班牙等在内的市场份额已经超过50%,并将继续向上展现趋势。在苹果iOS操作系统中,全国最大的市场份额仍是美国,同比增长43.9%;其次是美国是澳大利亚,值35.2%;而在中国,市场份额从21.2%下降到19%;在意大利,iOS的市场份额从23.1%下降到12.8%。

从以上数据可以看出,Android手机软件开发具有很大的发展前景,在Android系统开发手机新闻客户端软件中支持用户数量也与其他系统相比更多。

Google的移动平台总监Andy Rubin表示,与软件开发合作伙伴的密切联系正在进行中。 谷歌和开放移动联盟共同开发了Android操作系统,由摩托罗拉,高通,HTC,中国移动和T-Mobile的联盟,包括一些无线应用和技术的领导者。 谷歌正与制造商,开发商,运营商和其他利益相关方合作,建立一个开放的、标准化的移动手机软件平台来创建移动行业的开放的生态系统,这将是Android平台的发展在未来的机会。

2

本科毕业论文

1. 系统分析

1.1 研究目标

(1)了解Android应用程序设计和开发过程;

(2)使用各种组件为Android平台新闻软件开发。

这款手机新闻客户端软件是用java语言编写的,基于Eclipse开发平台,连接网络新闻数据界面,为Android平台新闻客户端手机软件开发。

1.2 可行性分析

开发任何基于移动的应用程序将受到资源和时间的限制。 因此,在收到任何应用任务之前,您必须根据用户提供的资源和时间条件进行可行性分析,以降低项目开发的风险,避免浪费人力,财力和物力。 风险分析和可行性分析在许多方面是相互关联的。 项目的风险越大,开发高质量软件的可能性就越小。

(1)经济可行性

使用移动数据流量作为通信手段,当今通信技术的飞速发展,2G运营商的GSM网络已经逐渐被当今的3G取代,甚至4G,数据流量都越来越低,现在手机都可以连接无线wifi,实现数据流量0费用,大大增强了这款新闻阅读软件的经济可行性。

(2)技术可行性

开发一种新闻客户端软件,使用的技术不会太复杂,最多的是用到客户端和服务器的数据交换使用servlet和通用数据库技术,android系统下解析json数据和UI设计,查询相关信息可以实现。

1.3 需求分析

程序启动后可以实时新闻更新,可以分为不同的部分,让用户了解任何感兴趣的信息阅读,同时可以对新闻和信息感兴趣,表达自己的意见、评论等,用户可以看到其他人发表的评论,以便交互,增强用户的体验感,用户可以拉下新闻列表,操作方便。 从上面的描述可以对软件的功能要求进行基本的了解:

(1)启动程序;

3

本科毕业论文

(2)设置界面:使用各种布局嵌套,美化控控件。。

(3)显示界面:模仿网易新闻客户端编写UI。

(4)详细界面:分为头条、足球、娱乐、体育、财经、科技、电影、汽车、笑话、时尚、情感、精选等板块

1.4 性能分析

从用户的角度来看,针对用户的需求,涉及到的程序快速响应,信息处理速度快,安全性高是用户需要三大表现,除了更广泛的受众之外,根据目前的Android 设备系统版本的配置,android4.0及以上版本的设备总数占97%以上,所以当开发的最低选择android系统也必须是android4.0来保证用户数量。

2. 环境搭建

2.1 配置Java环境

采用jdk的版本是jdk1.6,目前jdk版本最高的是jdk1.8,但是为了程序的稳定性,还是采用已经稳定成熟的版本作为开发工具。

从Oracle公司下载jdk1.6安装后,由于机器的开发系统是win8 64位操作系统,请选择下载64位jdk,然后按照步骤一步一步的安装jdk,然后再安装 配置环境java环境变量,jdk的整个过程完成。

2.2 Eclipse的安装

Eclipse从官方网站/downloads/下载,根据系统下载适当版本的Eclipse,点击解压就行,然后在上启动。 值得注意的是,Eclipse和jdk中的位数一致,也就是说,如果jdk是32位,那么Eclipse应该是32位的。

2.3安装Eclipse Standard 4.3.2

Eclipse Standard 4.3.2版本用于做服务器端程序,方法和Eclipse类似。

2.4 安装Tomcat服务器

从http:/下载tomcat6.0作为的服务器,下载好文件后开始安装,点击下一步,在安装过程中会提示设置默认的服务器端口号,若是不做修改默认为8080,建4

本科毕业论文

议不要修改,安装完成。

从http:/下载tomcat6.0作为服务器,安装下载好的文件,点击安装过程中的下一步将提示设置默认的服务器端口号,如果没有默认修改为8080,建议不修改,完成安装。

在Eclipse中为JavaEE建服务器时将刚安装的tomcat作为服务器即可。

2.5 安装Mysql数据库

现在有很多类型的数据库,如oracle,sqlserver,mysql,access等等多种,设计开发的数据并不是很多,所以选择一个轻量级的数据。

3. 系统设计与实现

3.1 概要设计

3.1.1 模块设计

该软件分为两个模块,即新闻客户端模块和服务器模块。

图形分析可以清楚地看到程序的功能和过程,图1是移动客户端流程图:

新闻界面

服务器接收指令

接收服务器的

数据

显示在界面

图1. 手机客户端流程图

服务器端的流程如图2所示:

客户端

服务器接收指令

5

本科毕业论文

生成sql语句

显示在

调用sql类

数据库操作

3.1.2 功能设计

图2.服务器流程图

返回结果

手机客户端模块功能结构如图3所示:

新闻客户端

内容管理

头条

足球

娱乐

体育

财经

科技

电影

汽车

图3.客户端功能结构图

服务器端模块功能结构如下图4所示:

服务器端

数据库配置

数据模型配置

数据交互管理

数据解析配置

数据转换工具

图4.服务器端功能结构图

6

本科毕业论文

3.2详细设计

3.2.1 用户界面设计

根据需求分析,应用程序应包括三个主要用户界面,进一步分析每个用户界面中应包含哪些内容。

(1)在“新闻资料页面”中,需要显示各种新闻的标题,然后在选择当前列中显示的信息的第一部分中选择相应的新闻信息,ListView表单中的信息界面,用户可以拖动获取内容,最后一个按钮加载更多,用户点击后可以获得更多内容。

(2)在“详细新闻页面”中,用户点击一个消息,可以进入详细的新闻界面,界面会显示当前的新闻标题,发布时间和作者,点击详细信息新闻区向左滑动退出页面。

下图就是根据对新闻界面显示内容的分析,绘制出用户界面的草图。

图5. 界面草图

3.2.2 数据库设计

该软件是需要存储大量新闻信息的程序,包括新闻阅读和用户评论信息,这些数据来自

7

本科毕业论文

数据库查询不是缓存数据,所以最终使用数据库,Mysql数据库为我们管理数据提供方便,易于理解。如图6所示的是新闻栏目的E-R图:

新闻栏目

标题

序列

编号

图6. 新闻栏目E-R图

如下图7所示的是新闻详细内容的E-R图:

标题

新闻编号 栏目编号

来源

新闻栏目

内容

摘要

序列

编号

图7. 新闻详细内容E-R图

本软件中有张两表的数据需要存储,因此在MySql中分别建立两张表。新闻类别分类表category,新闻内容表news。两张表分别如下表所示:

表1. 新闻类别分类表category的结构

属性

cid

title

sequnce

数据类型

integer

String

text

表2. news的结构

说明

编号

名称

序列

属性

nid

cid

title

body

source

ptime

数据类型

integer

integer

String

String

String

String

8

说明

编号

类号

标题

正文

新闻来源

发布时间

本科毕业论文

imgsrc

summary

sequence

text

String

int

图片来源

摘要

序列

仔细分析可得出,后台服务是整个应用的核心,主要是“数据采集”,用户点击操作,后台服务接收用户指令到服务器接口的调用收据,服务器接收命令 ,从服务器增删改查,然后将信息返回给客户端,以便用户获取必要的新闻和信息来满足客户需求。

服务器端的代码的主要功能是数据库的操作,通过客户端使用servlet技术传递指令来查询数据库,然后与客户端返回json数据格式数据,实现数据互操作,简单,方便,移动客户端接收时间也可以非常方便的解析出来,显示在用户界面中。

完成用户界面设计,服务器和数据库设计后,软件设计阶段的框架基本完成。

3.3功能的实现

3.3.1 文件结构与说明

(1)客户端开发部分

在程序开发阶段,首先确定了“Android平台的新闻客户端”的项目名为“QuickNews”,按照程序模块的设计内容,建立“QuickNews”的项目。

项目源代码的结构和功能如图8所示。

9

本科毕业论文

图8.“新闻快讯”工程的源代码文件

为了使源代码文件的结构更加清晰,“QuickNews”项目设置了一些命名空间,包的作用如下表所示。

表3. “快看新闻”工程的文件用途说明

包 名 称

com.

r

ty

ty

文 件 名

说 明

新闻栏目的bean类

新闻栏目标题的适配器

包内所有文件

String数据转化成int的工具类

主新闻界面的Activity

新闻详细内容的Activity

互联网上开源的http异步访问框架结构

Android中的资源文件保存在/ res的子目录中。 其中,/ res / drawable /目录保存了图像文件中,/ res / values目录存储了自定义字符串、颜色文件和样式文件,/ res / xml目录保存了.xml格式的数据文件,/ res / layout目录存储了UI布局文件中。 / res / anim目录包含所有动画控制文件。 在程序开发阶段可以调用的所有资源都存储在这些目录中。 具体文件图如图9所示。

10

本科毕业论文

图d资源文件图

(2)服务器端Eclipse Standard的开发部分

通过访问接口或地址实现,代码如下:

public class Url {

public static final String host = "/";

public static final String endUrl = "-";

public static final String endDetailUrl = "/";

// 头条

public static final String TopUrl = host + "nc/article/headline/";

public static final String TopId = "T07";

// 新闻详情

public static final String NewDetail = host + "nc/article/";

// 足球

public static final String CommonUrl = host + "nc/article/list/";

public static final String FootId = "T17";

// 娱乐

public static final String YuLeId = "T39";

11

本科毕业论文

// 体育

public static final String TiYuId = "T62";

// 财经

public static final String CaiJingId = "T99";

// 科技

public static final String KeJiId = "T92";

// 电影

public static final String DianYingId = "T48";

// 汽车

public static final String QiChiId = "T88";

// 笑话

public static final String XiaoHuaId = "T135";

// 笑话

public static final String YouXiId = "T79";

// 时尚

public static final String ShiShangId = "T03";

// 情感

public static final String QingGanId = "T00";

// 精选

}

3.3.2 具体实现

主要新闻页的设计与实现

(1) 页面定义的开始需要定义适配器的控件和新闻部分。

点击新闻部分,MainActivity将显示新闻信息的相应部分,如果新闻下的列将显示,如果没有消息,则会出现“本节中没有信息”,如果手机 无法连接到网络会提示“网络无法连接”,很清楚地告诉用户现在处于状态。

12

本科毕业论文

客户端使用异步http访问框架,其中CustomHttpClient类非常方便异步访问类,它是一个很好的包,只需提供接口地址和参数,就可以方便地访问接口获取数据,并且不再写回调方法, 只需要在CustomHttpClient中的cilent对象获取或发布请求方式来访问接口,然后重写两个方法,一个是getFromWebByHttpClient(),另一个是PostFromWebByHttpClient(),其中getFromWebByHttpClient()方法是访问接口成功 ,所获得的数据将可以从方法的EntityUtils获得,然后进行相应的解析,并且由于接口错误或网络错误或返回错误消息时请求数据时,PostFromWebByHttpClient()方法将被执行。

(2) 在访问接口成功之后,服务器将得到一个json数据,我们要做的是解析它,然后将其填入我们的页面显示,解析页面以接收json格式数据的各个部分, 需要导入json包支持,请参见附录A.

(3) 在界面退出时,重写onKeyDown()方法来确定是否按下后退按钮,然后提示再次按界面退出程序,两次运行的时间间隔超过两秒钟 撤销无效,两秒钟完成退出操作,具体界面退出代码见附录。

新闻的详细页面的设计和实现:

(1)页面初始化

首先初始化一些控件和变量的变量,如前一页按钮,下一页按钮和手指触摸屏幕上的起点坐标坐标X,起始坐标Y等 相关控制和变量。

(2)数据库管理类是连接数据库配置属性的角色,包括数据库主机地址、数据库名称、数据库端口、数据库密码、连接字符串、连接对象。

使用以下代码配置资源文件和JDBC驱动程序类型:

public class SQLHelper extends SQLiteOpenHelper {

public static final String DB_NAME = "";// 数据库名称

public static final int VERSION = 1;

public static final String TABLE_CHANNEL = "ChannelItem";// 数据表

13

本科毕业论文

public static final String ID = "id";//

public static final String NAME = "name";

public static final String ORDERID = "orderId";

public static final String SELECTED = "selected";

private final Context context;

public SQLHelper(Context context) {

super(context, DB_NAME, null, VERSION);

t = context;

}

public Context getContext() {

return context;

}

@Override

public void onCreate(SQLiteDatabase db) {

// TODO 创建数据库后,对数据库的操作

String sql = "create table if not exists " + TABLE_CHANNEL +

"(_id INTEGER PRIMARY KEY AUTOINCREMENT, " +

ID + " INTEGER , " +

NAME + " TEXT , " +

ORDERID + " INTEGER , " +

SELECTED + " TEXT)";

L(sql);

14

本科毕业论文

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO 更改数据库版本的操作

onCreate(db);

}

}

4. 系统测试

4.1 软件的测试

软件测试的目的,首先是确认android新闻客户端是否可以运行,其中一个方面是确认软件是否完成了这些功能的设计。 二是提供信息,如提供反馈信息,看看上述哪些步骤可以精简,可以改进。 第三是测试新闻客户本身,而且还包括整个开发过程。 如果这个消息客户端的开发完成后有很多问题,那就显示出这个开发过程有漏洞。

4.2 测试与实现的结果及说明

(1)真机测试

右键单击项目名称,然后选择“Run As”,或单击菜单栏上方的按钮后选择“Android Application”。出现如图10所示:

,然

15

本科毕业论文

图10. 选择测试工具图

为什么要使用真实的机器进行测试,因为用户正在使用真实的机器,并选择使用模拟器来做,有两个缺点。

模拟器反应过慢

测试结果在真机上观看方便

(2)启动移动新闻客户端

在屏幕上选择“新闻快讯”如图11:

图11. 新闻页面的图标

(3) 转到欢迎界面如图12所示:

16

本科毕业论文

图12. 载入欢迎界面效果图

(4)然后是显示主要新闻界面的内容,界面将设计的前端显示为要修改的简单界面,界面包含软件名称、刷新按钮、新闻列表、下一栏按钮,新闻列表并加载更多的按钮,所有新闻在ListView里面的界面只会显示六个消息,滑动界面可以查看更多消息,点击加载更多按钮加载更多新闻加ListView显示在界面上,具体效果如图所示在图13中显示:

17

本科毕业论文

图13. 主新闻页面效果图

(5)点击新闻列表中的新闻项目,选择查看新闻详细信息,因为主要新闻页面只能看到新闻内容的预览,新闻页面可以看到标题,细节,来源和已发布的消息 时间,具体效果如图14所示:

18

本科毕业论文

图14. 新闻详情页面效果图

测试小结:经过一系列测试,本新闻客户端软件基本完成了预期功能,系统的稳定性也较好。

结束语

经过几个月的不懈努力,Android平台新闻客户端软件终于完成,用户可以通过这个新闻客户端了解当前的新闻事件,为Android平台的开发需要大量的Java基础知识,在这方面Java 语言我有很多方便。 在整个开发和设计过程中,我学到了很多Android平台知识,如Android UI设计优化,风格设计,Activity,Service,BroadcastReceiver,ContentProvider等四个组件的使用和Eclipse,Tomcat,Mysql等开发工具的熟练使用。

19

本科毕业论文

虽然软件和已有的消息客户端软件相比有一定的差距,但这并没有引起我对Android平台发展的兴趣,但这是一个激励我的事情,我发现了很多我的不足之处,然后我可以更仔细地学习,掌握更先进的编程技术,设计更系统,更好的使用Android软件。

经过软件的设计和实践,老师在课堂上和自己的额外时间学习知识做一个总结。 一方面是一个好地方,另一方面也有缺点。 这是我们立即毕业的警告。 虽然学校学到的知识可能不会用于很多工作,但我们在学校学到的是学习方法,因为在任何阶段,人们总是需要继续不停的学习。

在今后的工作和学习,我会保持积极的心态,遇事要小心,仔细分析,在软件开发这个职业生涯中,需要充分发挥自己的想法和敏锐,因为软件开发升级速度非常快,不想被淘汰不能停止学习的步伐。

20

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论