当前位置:文档之家› 毕业论文范文

毕业论文范文

文本复制检测报告单

打印 保存

№:ADBD2013R_2013041914513420130420113229401334468492 检测文献 基于Android 手机平台的新闻客户端 作 者

检测范围

中国学术期刊网络出版总库

中国博士学位论文全文数据库/中国优秀硕士学位论文全文数据库 中国重要会议论文全文数据库 中国重要报纸全文数据库 中国专利全文数据库 大学生论文联合比对库 互联网资源

英文数据库(涵盖期刊、博硕、会议的英文数据以及德国Springer 、英国Taylor&Francis 期刊数据库等) 港澳台学术文献库 优先出版文献库

时间范围 1900-01-01 至 2013-04-20 检测时间 2013-04-20 11:32:29

总文字复制比:5.1%

( 表格 ) ( 观点 )

去除引用:4.4% 去除本人:5.1%

重合字数:852

文献总字数:16810

总段落数: [ 2 ] 疑似段落数: [ 2 ] 疑似段落最大重合字数: [ 681 ]

前部重合字数: [ 681 ] 后部重合字数: [ 171 ]

疑似段落最小重合字数: [ 171 ]

5.5% 基于Android 手机平台的新闻客户端_第1部分(总12393字) 3.9%

基于Android 手机平台的新闻客户端_第2部分(总4417字)

( 注释: 无问题部分

文字复制比部

引用部分 ) 基于Android 手机平台的新闻客户端_第1部分 总文字复制比:5.5%(681) 总字数:12393

1 ·信息学院_王蕊琦_基于android 移动终端的日程管理系统设计与实现 王蕊琦 - 《大学生论文联合比对库》- 2012

3.2% 是否引用:否

吉林大学珠海学院

毕业设计

基于Android 手机平台的新闻客户端

The Client of News Based on Android

完成日期2013 年1月25 日

吉林大学珠海学院本科毕业论文(设计)开题报告

基于Android手机平台的新闻客户端

摘要

新闻阅读基本是每个人生活必需的生活内容。在信息量越来越大的今天,这要求人们不断的摄取信息来充实自己。新闻阅读既能获取生活所需要的有用信息,也能通过新闻阅开宽视野和思维。但是新闻阅读多数只能通过固定的时间地点方式来获取,无法做到随时随地获取到新闻资讯,往往由于这些因素,错过很多对自己有用的信息。为了解决以上的诸多不便,基于Android的新闻客户端也应运而生。

通过对初步对Google Android API以及开发部署,确定客户端的功能,设计客户端的用户界面,最后着重研究和实现了新闻客户端能随时随地对新闻内容阅读,新闻内容评论,查看评论内容等功能。只要在手机上安装客户端程序,使得手机也具备了和登录各大网站一样的轻松、方便、快捷获取资讯功能,而且它还摆脱了必须在固定场所固定设备上进行阅读新闻资讯的限制,对设备使用者提供了极大便利。

关键词:新闻客户端;Google Android API;阅读评论;便利

The Client of News Based on Android

Abstract

News reading is very necessary for everyone. In today's growing amount of information, it requires us intake inf ormation to enrich themselves.News reading not only can make us to gain more useful information of our daliy life,but also widden our view and throught.Amost of time,we olny can gain the news because of the limitation of time and pl ace.We can’t gain the news of information anytime and anywhere,so we usually miss many useful useful information.In order to solve the inconvenience of above,the client of news based on android comes into being.

After by means of knowing the Google Android API initially and preparing for development of software,I defin e the the function of the client ,design the client of user interface and achieve the function of client,such as news read ing,news comment ,commet viewing and so on.By the client program installed on the phone, making the phone can log in in major sites easily and conveniently, quickly gain more information, but also get rid of the restrictions in a fixed place and equipment to read news, the application on the devices offers users great convenience.

Key Word:The Client of News;Google Android API;Reading and Comment;Convenience

目录

1 前言 (1)

1.1 本研究课题背景 (1)

1.2 本研究课题研究意义 (1)

1.3 国内外文献 (1)

1.3.1 国内发展状况 (1)

1.3.2 国内外手机应用现状 (2)

1.4 发展趋势 (2)

1.5 研究内容 (3)

2 开发环境和Android相关技术 (4)

2.1 开发环境简介 (4)

2.1.1 Java概述 (4)

2.1.2 Eclipse与Android Developers Tools概述 (4)

2.1.3 MySQL与Tomcat概述 (4)

2.2开发平台搭建 (4)

2.3 Android关键技术 (5)

3 需求分析 (6)

3.1 软件需求 (6)

3.2 需求分析 (6)

3.3 软件功能分析 (6)

3.4 客户端功能描述 (7)

3.4.1 界面功能描述 (7)

3.4.2 新闻详细内容界面 (8)

3.4.3 新闻跟贴评论界面 (9)

3.4.4 菜单 (9)

4 总体设计 (11)

4.1 系统结构 (11)

4.2 总体功能设计 (11)

4.2.1 系统设计目标 (11)

4.3 数据库设计 (12)

4.3.1 软件数据分析 (12)

4.3.2 软件E-R图 (12)

4.4 数据流图 (12)

4.5 数据字典 (13)

4.5.1 新闻分类栏目表 (13)

4.5.2 新闻跟贴回复表 (14)

4.5.3新闻内容信息表 (16)

5 设计思想与实现 (18)

5.1 界面布局实现 (18)

5.1.1 主界面布局实现 (18)

5.1.2 新闻详细内容界面实现 (19)

5.1.3 新闻跟贴内容界面 (21)

5.2 客户端功能实现 (22)

5.2.1 主界面功能实现 (22)

5.2.2 新闻详细内容界面 (24)

5.2.3新闻跟贴内容界面 (24)

6 客户端运行与测试 (26)

6.1 客户端运行环境 (26)

6.2 客户端测试 (26)

7 结束语 (27)

参考文献 (28)

致谢 (29)

1 前言

1.1 本研究课题背景

手机已经成为我们生活中不可缺少的生活日常用品,现今的手机已经不再是一个简单的便携通讯工具,由于得益于今时今日发达的通讯网络发展,手机的功能也不断得到扩展,手机不单止简单的打电话和发短信,而且还能满足人们娱乐,购物消费,甚至办公处理。手机智能化的迅猛发展,使得这一切完全融入我们的日常生活。

手机移动新闻客户端,通过在手机上安装客户端程序,使得手机也具备了和登录各大网站一样的轻松、方便、快捷获取资讯功能,而且它还摆脱了必须在固定场所固定设备上进行阅读新闻资讯的限制,对设备使用者提供了极大便利,借助手机通信的便利性,使得使用者无论身处任何地方情况下,都能快捷获取各式各样的新闻媒体。

1.2 本研究课题研究意义

近年无论是国内还是国外,移动互联网发展迅猛,有大批的只能移动平台诞生,尤其Android平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,Android将越发的凸显自己的重要性。

基于Android手机终端的新闻客户端就是这样一款随时随地获取到新闻资讯的Android应用。

要实现这样一款应用,我必要通过进行相关的研究来了解Android平台,来了解开发Andr oid相关的知识和内容,了解移动软件设计,进而了解未来移动互联网的发展趋势,从而更好的适应时代的需要,能够与时俱进,通过研究和着手实施开发,了解Android API以及数据库的使用,同时也通过此来增强自身的编程和设计能力,这正是本研究课题研究意义。

1.3 国内外文献

1.3.1 国内发展状况

现在是一个资讯爆炸的年代,人们对于都希望能够随时随地获取各种有用的信息。随着科技的发展,手机作为一种非常重要的通讯工具,其功能越来越强大,相对电视、互联网络等方式,手机凭借它可以随时随地获取和处理信息的优势,逐渐成为人们获取信息的一种重要手段。但是不是所有手机都能满足这种复杂的功能要就,而智能手机由于其强大的功能无疑是所有手机中最好的选择。现今主流的智能移动操作系统有:Symbian、Windows Mobile、Iphone OS、Palm,黑莓,Android等等。而其中,由于Android系统器有良好的开放性和平台的便携性等特点,采用Android操作系统的手机越来越受到人们的青睐,也在智能手机领域中所扮演的角色也越来越重要。

目前主流的移动智能操作系统有Symbian、Iphone OS、Android、Windows Phone等,以下简略介绍以下:

Symbian操作系统,它是一个实时多任务的嵌入式的操作系统,具有低能耗,内存占用较少等特点,主要开发语言是C++,但是由于开发难度大,逐渐被抛弃。

Iphone OS操作系统,它是以Darwin为基础的实时多任务的嵌入式操作系统。它主要是给iPhone、iPod touch以及iPad使用,主要使用Object-C作为开发语言(实质是C语言的衍生)。

Android OS操作系统,它是采用开源的Linux作为系统内核为基础的一款实时多任务嵌入式操作系统,应用层主要使用Java语言开发,底层硬件开发则是使用C或C++语言。

Windows Phone 操作系统,它是类似Windows 的操作系统,同时也是一个实时多任务智能操作平台,主要C#语言进行应用开发。

1.3.2 国内外手机应用现状

由于国内外国情不一样,发展的程度也不一样的缘故,国内外手机应用也存在的较大的差异。但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。目前手机应用中数量最大,使用人数最多的应用类型是服务类应用,如,地图,搜索,即时通信,浏览器等等。

1.4 发展趋势

全球在使用的智能移动电话已经超过数十亿部,而且这个数字每天都在不断增加。而Android又占据着智能设备半数份额,而手机应用程序作为Android系统平台的一个重要支撑点,正在被越来越多的人所使用,而移动设备的便携性,能够随时随地不受限制的连接入网络,可以畅游和完成自己想做的事情,不再受时间地点局限。

所以综上所述,在未来,Android应用将会成为手机应用市场的主流应用,尤其是服务类应用,并且需要资源的投入。

1.5 研究内容

经过考察调研和资料整理的具体情况,基于Android手机的新闻客户端能够进行对新闻信息进行分类浏览,能够从网络服务器中获取新闻内容,并能够对每条新闻内筒进行跟帖回复和查阅其他用户的评论。该软件系统将实现用户的功能。

具体技术要求:Android界面XML布局,异步更新UI,Android中HTTP通信,JSON格式解析,Android多线程机制。

软件使用Java作为主体语言,xml语言为界面设计,主要有:软件整体xml布局、Tomcat和MySQL的配置、来完成程序浏览主界面,新闻内容界面,跟贴评论界面等功能。

以下是具体研究重点:

(1)程序浏览主界面

在主界面分门别类的现实不同类别的新闻栏目,如焦点,国内,国际,军事,娱乐等等栏目,每个栏目分别对应着一个界面,每个界面内包含该类别的新闻信息内容。

(2)新闻内容界面

点击每个栏目下的新闻信息,能够进入到该条新闻的详细内容页面,可查看详细新闻信息内容。

(3)跟贴评论界面

在具体的新闻目录下有评论编辑文本框,通过文本输入,输入评论,点击评论,即可及时评论。

在新闻标题傍边会设置评论帖子的数目,点击该按钮进入帖子阅读界面。

2 开发环境和Android相关技术

2.1 开发环境简介

本软件是基于Android手机操作平台,所以软件主要是在Windows 7上使用Java+Eclipse+Android Developers Too ls(ADT)+Android?SDK进行开发的,后台数据库是则是使用开放源码的MySQL完成。而后台服务器则是使用一个轻量级的Tomcat。

2.1.1 Java概述

Java是由Sun Microsystems推出,可以撰写跨平台应用软件的面向对象的程序设计语言。通过不同的操作平台对应的虚拟机来实现一次编译,到处运行。Java在编程语言风格上跟C,C++语言很接近。Java也是一种纯粹的面向对象程序设计语言,继承C++面向对象核心,巧妙使用引用来取代了C,C++中的指针,运算符重载和与多重继承,增加垃圾回收机制回收不被引用的内存空间,减少开发者对内存回收工作。

2.1.2 Eclipse与Android Developers Tools概述

Eclipse 是一个开放源代码的可扩展开发集成平台。通过安装谷歌所提供的Android Developers Tools插件,简称A DT插件就可以开发一般的Android应用程序。

2.1.3 MySQL与Tomcat概述

MySQL是最流行、最佳的开源数据库。MySQ L是一个小巧灵珑的数据库服务器软件,对于小型应用系统是非常理想的并且支持多种平台。而Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的轻量级应用服务器。

2.2开发平台搭建

古语有云:工欲善其事,必先利其器,做好一件事必须做好前期的周全准备。下面简单归纳出Windows操作系统下的Android平台搭建主要概要过程:

第一步,安装Java Development Kit,下载Eclipse开发环境,配置好环境系统变量,具体步骤不再详细介绍。

第二步,在Eclipse开发环境上安装Android Development Tools插件。

第三步,使用Eclipse开发环境在线安装Android软件开发包,即Android SDK。

第四步,配置好Android Development Tools和Android SDK。

2.3 Android关键技术

本软件采用java作为开发语言,布局和数据存储是开发本软件的关键技术,布局用来设计用户交互界面,用户界面的设计是否美观和合理直接影响用户体验,因此运用好布局技术是直接和用户相关的。

在android中,软件UI通常使用xml技术设计,而android中常用的布局有5种,分别是:AbsoluteLayout、Linear

Layout、RelativeLayout、FrameLayout、TableLayout,由于布局的使用,并且布局之间可以互相嵌套,使得android软件UI的设计变得非常灵活,即使是一些非常复杂的界面设计,只要合理的使用布局,也会使开发变得很容易。

Android UI(用户界面)异步更新,由于Android里的View和控件不是线程安全,因此不能在新线程中来更新UI,但是可以把要更新的数据在新线程中处理获得然后再通过UI线程创建的Handler用post()返回数据调用runnable接口的r un()这种方法实现异步更新UI,除此以外还可以使用SycnTask类。

Android与服务器通信通常采用HTTP通信方式和Socket通信方式,而本软件采用的HTTP通信方式又分get和po st两种方式。HTTP (Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种协议。

JSON是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式?,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。Android的JSON解析部分都在包org.json下,主要有以下几个类:JSONObject,JSONStringer,JSONArray等等。

3 需求分析

3.1 软件需求

基于Android的新闻客户端能够运行在任何Android设备上,通过仔细研究和分析目前应用市场上的新闻客户端,希望能够开发出一款界面设计友好,人机交互高效快捷,使得使用者无论身处任何地方情况下,都能快捷获取各式各样的新闻媒体资讯并且功能丰富齐全的客户端。

通过对众多电子市场的Android新闻客户端的分析和研究,这一类型的软件系统一般采用C/S软件架构,由客户端和服务端两部分组成,所以本软件也将采用该软件架构,分为新闻客户端和新闻服务器端两部分。

3.2 需求分析

经过参考Android的电子市场上的众多新闻客户端得出的分析,本客户端应该所具有如下要求:

1. 客户端需求分析:

(1)新闻客户端主界面应该要有不同新闻类别导航分类,每个类别有详细的新闻信息列表;

(2)可以阅读新闻信息列表中详细新闻内容;

(3)用户可以通过写帖子评论新闻内容,并可以查看其他新闻评论信息;

(4)可以通过网络升级手机客户端。

2. 客户端性能要求分析:

(1)客户端需要兼容不同Android版本;

(2)客户端易用性要强,界面友好;

(3)客户端响应时间要快,界面切换流畅。

3.3 软件功能分析

经过前面的需求分析后,确定本客户端应该有以下几项基本功能:1、新闻浏览;2、新闻评论,3、评论查看,4、软件升级。

下图3-1将展示用户所具有的功能。

客户端用户新闻阅读新闻评论软件升级查阅评论

图3-1 软件功能图

3.4 客户端功能描述

3.4.1 界面功能描述

1.主界面,如图3-2:

若客户端在不能联网情况下,只会显示新闻分类栏,并会提示获取新闻失败,如果在联网的情况下如下面所述。

主页面是新闻内容显示主界面,在主界面上顶部有软件的名称以及在最右端有刷新的按钮,在软件名称和刷新按钮正下方是新闻分类信息,其实是文本信息的Gridview,每个新闻分类阅读是相对应一类的新闻内容Activity,内容是客户端从服务器端获取的数据,在网络连接的情况下,显示出所有的新闻信息,在新闻内容显示区域能往上拉动或下拉,点击刷新按钮会提示正在加载等字眼或者如果无法获取服务器信息会显示加载失败。

2.新闻标题分类栏

新闻分类包括:焦点,国内,国际,军事,体育,科技,汽车,财经,游戏,女人等等,通过手指的滑动,可以找到后面的类别,每个类别对影响对应的内容,每条显示的内容之间有一条分隔符,每一条新闻内容相当于一个按钮,点击按钮会进入该新闻详细的页面。

3. 新闻列表

主界面上的新闻列表,显示每条新闻的标题,新闻简单摘要,新闻来源以及发布的时间,该页面列表有多条新闻信息。在底部设置一枚加载按钮方便用户加载新闻条目,用户也可以通过向下滑动加载所在栏目的新闻摘要,通过点击加载按钮或向下滑动可以加在该栏目下的新闻信息,若没有该栏目已经没有更多的新闻信息会提示没有更多信息。

图3-2 主界面

3.4.2 新闻详细内容界面

在新闻详细内容界面有新闻所在栏目,跟贴数目按钮,通过点击该按钮可进入跟贴回复界面,还有切换新闻内容按钮,通过按钮可以切换到上下条新闻内容页面。在栏目下则是新闻内容的标题,发布新闻的时间和新闻来源,接着就是新闻的内容主体,用户可以通过在屏幕上下滑动来进行查看新闻内容。底部则是新闻内容评论按钮,通过按钮可以切换到文本编辑框输入自己想发表的内容,然后通过网络上传到数据库中保存。如图3-3所示:

图3-3新闻详细内容界面图3-4 新闻详细跟帖评论界面

3.4.3 新闻跟贴评论界面

通过在上一界面点击跟贴按钮,就能够到达此界面中,此界面顶部包含有一个返回到原文的按钮,通过此按钮或手机上的返回按键返回到原来正在阅读的新闻内容界面。在下方的是用户所发表的新闻评论信息,每条评论信息包含有发布该条评论的人的来源地,发布时间和发布的评论信息。如图3-4所示:

3.4.4 菜单

用户在主界面按下手机上的menu按键,就会在界面底部弹出菜单,如图3-5所示。菜单包含下面两个内容:

1、更新:通过此菜单可以下载软件安装更新。

当用户按下更新,就会弹出升级选择对话框。

对话框中包含两个按钮,一是更新按钮,二是稍后更新。

如果用户选择升级菜单按钮,则会启动升级程序,并跳转到升级进度条对话框,在框内显示下载进度和取消下载按钮,以及升级文本信息,以用来通知用户有可用的更新。

如果用户想停止下载,可以通过点击取消按钮,对下载进行取消。

如图3-6升级对话框和图3-7进度条对话框。

2、退出:退出软件,用户选择退出菜单,即可退出客户端。

用户通过此菜单能够完全退出程序。

图3-5 菜单

图3-6升级对话框

图3-7进度条对话框

4 总体设计

经过分析本软件将采用C/S软件开发模式进行开发,因此本款软件中的新闻客户端和新闻服务器端是分开独立的,新闻客户端负责显示新闻信息和评论新闻,而新闻服务器端则是负责手机客户端的请求,新闻数据内容编辑,保存新闻评论内容以及软件更新功能。

4.1 系统结构

本新闻客户端总体逻辑结构为C/S结构,软件结构如下图所展示:

新闻查看新闻评论查看评论软件更新数据库数据表服务器图4-1 系统结构图

4.2 总体功能设计

4.2.1 系统设计目标

本客户端软件设计的目标是根据需求分析,确定软件所采用的架构,客户端软件该具有的功能和本软件的界面的布局,以及数据库的设计。从而能够顺利实现客户端的顺利开发。

4.3 数据库设计

由于本客户端采用C/S结构,新闻客户端所显示的信息是来源于新闻服务器,而本服务器数据库则是采用MySQL 数据库进行开发,配合Tomcat进行发布部署,进行客户端的调试和开发。

4.3.1 软件数据分析

通过对Android电子市场中众多的新闻客户端分析,以及在前期的需求分析已经确定本软件涉的实体有:用户、客户端、数据库。

4.3.2 软件E-R图

由软件实体数据关系的分析和研究,可以得出软件的E-R图4-2如下:

用户浏览客户端数据库访问

图4-2 软件E-R图

4.4 数据流图

通过对研究和分析,本软件的系统数据流图如下:

主界面数据库写跟贴查看原文评论新闻浏览查看新闻列表

图4-3 数据流图

4.5 数据字典

根据软件所需,本软件建立三张数据表,分别是新闻分类表t_category,新闻跟贴回复表t_comment和新闻信息列表t_news。

4.5.1 新闻分类栏目表

1、数据表内容描述

描述:该数据表是用于存储对新闻不同类别进行编号和记录,新闻栏目表主要包括:新闻分类编号,新闻分类名称。

2、数据表参数说明

新闻分类编号:字段名是cid,一类新闻,是一个整型数据,共有10类,编号1-10,定义取值长度为11,通过这个唯一的分类编号找到对应的新闻标题,所以该字段是主键;

新闻标题:字段名是title,一个新闻标题,是字符型数据,一般有两个汉字组成,定义取值长度10。

表结构如图4-6所示;新闻分类E-R图如图4-7所示;新闻分类栏目表,如表4-8所示。

图4-6表结构

新闻编号分类表新闻标题

图4-7 新闻分类E-R图

表4-8 新闻分类栏目表

4.5.2 新闻跟贴回复表

1、数据表内容描述

描述:存储用户对新闻内容的评论,新闻评论列表包括:评论编号,新闻分类编号,评论时间,发布人地区,评论内容。

2、数据表参数说明

评论编号:字段名是nid,一条新闻的编号,是一个整型数据,每一分类可有多条新闻,为能够有足够空间存储,定义取值长度为11;

新闻分类编号:字段名是cid,一类新闻,是一个整型数据,共有10类,编号1-10,定义取值长度为11,通过这个唯一的分类编号找到对应的新闻标题,所以该字段是主键;

评论时间:字段名是ptime,记录评论的时间,是一个varchar数据,根据时间是由年月日时分秒组成的,定义取值长度为20;

发布人地区:字段名是region,记录发布跟帖人的所在地区,是一varchar数据,根据地区是由省和市组成,定义取值长度为20;

评论内容:字段名是content,记录存储新闻评论内容,是一varchar数据,为能够有足够空间存储,定义取值长度为500。

表结构如图4-9所示;新闻分类E-R图如图4-10所示;新闻分类栏目表,如表4-11所示。

图4-9 表结构

评论内容发布人地区新闻编号新闻分类编号评论时间新闻跟贴

图4-10 新闻分类E-R图

表4-11 新闻分类目录表

续表4-11 新闻分类目录表

4.5.3新闻内容信息表

1、数据表内容描述

描述:存储新闻详细内容,新闻详细内容表包括:新闻编号,新闻分类,新闻标题,摘要,新闻内容,新闻来源,发布时间,新闻图片。该表包含:nid,cid,title,digest,body,source,ptime,imgsrc,deleted这几个字段。

2、数据表参数说明

新闻编号:字段名nid,每条新闻都有自己特定的编号,是一个整型数据,为能够有足够空间存储,定义取值长度为11,通过这个唯一的新闻编号找到对应的新闻内容信息,所以该字段是主键;

新闻分类:字段名是cid,新闻的栏目类别,是一个整型数据,共有10类,编号1-10,定义取值长度为11;

新闻标题:字段名title,记录新闻的标题,是一个varchar数据,一般有多个汉字组成,为能够有足够空间存储,定义取值长度为50;

摘要:字段名digest,每条详细新闻的概要,是一个varchar数据,一般有多个汉字组成,为能够有足够空间存储,定义取值长度为100;

新闻内容:字段名body,新闻的详细内容,是一个text数据,一般由数十个汉字组成;

新闻来源:字段名是region,记录新闻信息来源,是一varchar数据,一般是地区是网站名字,为能够有足够空间存储,定义取值长度为20;

发布时间:字段名是ptime,记录评论的时间,是一个varchar数据,根据时间是由年月日时分秒组成的,定义取值长度为20;

新闻图片:字段名是imgsrc,保存新闻图片的引用地址,是一个varchar数据,为能够有足够空间存储,定义取值长度为100;

表结构如图4-12所示;新闻内容E-R图如图4-13所示;新闻信息表,如表4-14所示。

图4-12 表结构

新闻编号新闻分类新闻标题新闻摘要新闻图片新闻来源发布时间新闻内容新闻信息表

图4-12 新闻内容E-R图

图4-5-3 新闻信息表

5 设计思想与实现

整个基于Android的新闻客户端是由客户端和服务端两部分组成的,客户端是由本人完成的,而服务端是由公司所提供修改而成的。所以以下主要介绍本人所负责的实现功能。

基于Android的新闻客户端主要由主界面,新闻详细内容和新闻评论列表,这三个界面共同构成。主界面主要包含客户端的名称,新闻分类和新闻列表信息,底部则是加载更多内容按钮;在新闻详细内容界面中包含有新闻类别名称,新闻详细内容和评论新闻编辑;新闻评论列表则包括新闻回复列表。

本部分将会解释界面布局和客户端主要功能是如何实现的。

5.1 界面布局实现

5.1.1 主界面布局实现

客户端运行的首界面,如图5-1:

首次运行程序,主界面会默认启动显示在用户面前,主界面主要包含顶部软件名称和刷新按钮,新闻分类栏目,新闻内容列表以及底部新闻加载按钮。

图5-1 客户端主界面

在主界面包含多个部件,所以使用嵌套布局最为合适,在最外层使用一LinearLayout布局,在这个布局中嵌套两个

RelativeLayout(第一个RelativeLayout套用着用于显示程序名称的textview和用于刷新的button按钮,第二个RelativeLa yout则是包含着一个用于显示新闻分类栏目的ViewGroup)和用于显示新闻内容的ListView。具体布局如图5-2所示:LinearLayoutListViewtextview刷新buttonViewgroupRelativeLayout

图5-2 界面布局实现

5.1.2 新闻详细内容界面实现

新闻客户端详细内容界面,如图5-3示:

当用户在主界面点击想要看的新闻列表就能够转到该新闻信息的详细内容界面,该界面主要包含有两个RelativeLa yout(第一个RelativeLayout套用着用于显示程序名称的textview,跟贴button按钮以及内容切换箭头,第二个RelativeL ayout则是包含着一个用于显示新闻。

当用户在主界面点击想要看的新闻列表就能够转到该新闻信息的详细内容界面,该界面主要包含有两个RelativeLa yout(第一个RelativeLayout套用着用于显示程序名称的textview,跟贴button按钮以及内容切换箭头,第二个RelativeL ayout则是包含着一个用于显示新闻标题textview,发布时间textview,新闻来源textview),在这个布局下方正是一个包含显示新闻内容textview和嵌套多个用于评论新闻imagebutton的LinearLayout布局。如图5-4所示:图5-4详细内容界面

当用户在主界面点击想要看的新闻列表就能够转到该新闻信息的详细内容界面,该界面主要包含有两个RelativeLa yout(第一个RelativeLayout套用着用于显示程序名称的textview,跟贴button按钮以及内容切换箭头,第二个RelativeL ayout则是包含着一个用于显示新闻标题textview,发布时间textview,新闻来源textview),在这个布局下方正是一个包含显示新闻内容textview和嵌套多个用于评论新闻imagebutton的LinearLayout布局。如图5-5所示:LinearLayoutRelativeLayouttextviewtextviewbuttontextview textviewtextview textviewtextviewLinearLayoutbutton text view

图5-5闻详细内容布局

5.1.3 新闻跟贴内容界面

新闻客户端跟贴内容界面,如图5-6所示:

图5-6 新闻跟帖内容

当用户在新闻详细内容界面点击跟贴信息按钮就能够转到该新闻评论信息的详细内容界面,该界面主要包含有一个RelativeLayout,该RelativeLayout套用着用于显示程序名称的textview,返回原文button按钮,一个LinearLayou内嵌着一个RelativeLayout则是包含着一个用于显示新闻发布人来源地textview,评论内容textview,评论发布时间textview。如图5-7所示:

LinearLayoutLinearLayoutRelativeLayouttextview原文buttontextviewtextviewtextviewut

图5-7跟贴界面布局

5.2 客户端功能实现

5.2.1 主界面功能实现

在主界面中主要包含有两个重要的部件,一是新闻分类栏,二是新闻列表信息。

新闻分类栏主要是通过布局文件来实现布局的,其功能主要包括:1、通过点击不同的新闻分类可以进入不同的新闻内容列表;2、通过在手的滑动或箭头按钮来向前向后查看更多的新闻栏目;3、点击列表进入详细新闻内容;4、加载按钮加载新闻列表;5、HTTP信息请求和JSON格式解析;6、菜单更新和退出。

剽窃文字表述

1. Android平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,Android

将越发的凸显自己的重要性。基于

2. 资讯爆炸的年代,人们对于都希望能够随时随地获取各种有用的信息。随着科技的发展,手机作为一种非常重要的

通讯工具,其功能越来越强大,相对电视、互联网络等方式,手机凭借它可以随时随地获取和处理信息的优势,逐渐成为人们获取信息的一种重要手段。但是不是所有手机都能满足这种复杂的功能要就,而智能手机由于其强大的功能

1、新闻分类栏

由于新闻分类栏是一个GridView容器控件,其中里面包含了ViewGroup控件。

第一个功能主要通过每个新闻栏目,即gridview对象下设置监听器onclicklistener()来完成事件监听。再由所设置的监听器中的onItemClick()方法来实现。

第二个功能的实现主要是依靠于HorizontalScrollView控件可滑动的属性以及为箭头按钮设置了监听器onclicklisten er(),在里面调用HorizontalScrollView中的fling()方法来实现箭头滚动的。

2、新闻列表信息

新闻列表的信息主要是通过从网络中获取新闻信息然后通过解析,再显示到ListView列表中。其中主要是从服务器数据库获取所需的信息,使用JSON格式解析,然后通过simpleadapter适配器绑定解析好的数据,然后在显示到列表上。详细实现代码如下:

3、点击列表进入详细新闻内容

此功能主要是通过在新闻信息列表中为其添加setOnItemClickListener(),通过可以监听每条信息是否被按下,进而选择进入新闻的详细内容进行阅读。

4、加载按钮加载新闻列表

用户可以通过列表中的加载按钮加载新闻内容,此功能主要通过在异步更新UI方式来实现,主要是通过AsyncTas k中的onPreExecute(),doInBackground(),onPostExecute()进行信息的家在更新的,详细实现代码如下:

5、HTTP信息请求和JSON格式解析

在simpleadapter中绑定的数据是通过HTTP信息请求从服务器数据库中获取的,由于Java提供HTTPclient类库包来支持HTTP功能,通过使用HTTP get和post方法来实现与数据库的通信。

从数据库获取到的信息是JSON格式数据,所以还要通过对格式解析才能在程序中使用,这里主要使用JSONObje ct类中的方法来实现格式解析。然后再保存到hashmap数组中,再通过put()方法将hashmap数组加到新闻列表中显示。

6、菜单更新和退出

通过在mainacivity使用onCreateOptionsMenu()添加菜单,为本客户端添加了两枚菜单按钮,分别是更新和退出。作用是用于更新软件和退出软件。

更新主要是通过自己所编写UpdateManager工具类来对实现的,使用工具类中checkUpdate()方法检查软件是否有更新版本,通过对话框中选择更新或不更新,如果确定选择后,就调用isupdate()方法检查软件是否有更新版本,通过获取软件版本号getVersionCode()方法对比版本号,通过显示软件更新对话框showNoticeDialog(),显示软件下载对话框showDownloadDialog(),并判断SD卡是否可用,若可用则下载内存卡中保存,在下载时是调用downloadAPK (),使用数据流方式实现将数据读写,并且通过使用Handler异步更新下载进度条,最有下载后自动调用installApk()安装软件。

5.2.2 新闻详细内容界面

在内容界面中主要包含有三个重要的部分,一是跟贴按钮,二是新闻内容主体,三是新闻内容前后切换,四是新闻评论回复。

新闻详细内容界面主要是通过布局文件来实现布局的,其功能主要包括:1、通过点击跟贴按钮可以进入新闻评论界面;2、通过在手的滑动或箭头按钮来向前向后切换新闻内容;3、点击写跟贴按钮转到编辑框发表跟贴。

1、跟贴按钮

用户可以通过按跟帖按钮转到新闻评论界面查看跟贴信息,这个功能主要是通过在设置事件监听器setOnClickListe ner()中的intent来传递信息,触发来转调到新闻跟贴评论界面。

2、新闻内容主体

新闻内容主体主要包含有新闻的标题,来源,发布时间以及新闻详细内容。是通过获取新闻详细信息函数getnews body(),使用异步线程更新UI,即Handler,启动线程mHandler(),获取数据库所存储的新闻内容信息表内容,并显示到屏幕上。

3、新闻前后切换

用户可以通过上方的前后箭头或左右触摸来切换到上一条或下一条新闻内容,前者方式的切换是通过为按钮设置o nclicklistener()来实现切换,后者切换方式则是通过添加屏幕触摸事件ontouchlistener()中的shownext()和showPr evious()方法来中的参数实时监听手势的识别来实现。由于考虑到人性化,为此添加切换动画,使得切换更加优雅,切换动画是通过setInAnimation()中设置所创建的动画效果,本软件所使用的是来源于网上的较为简单的动画效果。

4、新闻评论回复

新闻评论回复功能则是通过在底部设置imagebutton,通过为该button添加事件点击监听器onclicklistener()中的setVisibility()设置新闻回复图片的不可见状态和可见状态之间的转换,同时调用requestFocus()转到文本输入框,进行写跟贴,使用PostCommentThread线程将跟帖内容通过HTTP的post方式发送到数据库保存。

5.2.3新闻跟贴内容界面

新闻跟帖内容界面主要包含有:一是返回原文按钮,二是跟贴内容详细信息。

新闻跟贴内容界面主要是通过布局文件来实现布局的,其功能主要包括:1、通过点击原文按钮可以进入对应新闻详细内容界面;2、查看新闻跟帖评论信息。

1、点击原文按钮可以进入对应新闻详细内容界面

用户可以通过点击原文按钮可以进入对应新闻详细内容界面,此功能通过为按钮设置setOnClickListener()点击事件监听器来实现监听,通过监听可以捕获到用户的操作。

2、查看新闻跟帖评论信息

用户从新闻详细信息界面中,通过点击跟贴按钮可以跳转到该界面,新闻跟帖评论信息主要是通过getComments()方法获取客户端上新闻编号,然后将该编号与数据库中所存的新闻跟贴回复表中的新闻编号做对比,然后找到匹配的,再通过JSON格式数据返回到客户端,通过解析后,将跟贴信息显示到界面上供用户查看。

6 客户端运行与测试

6.1 客户端运行环境

根据工程创建所选择的Android SDK版本以及开发环境的配置,建议采用以下配置以及系统才能够保证运行。

建议配置:ARM CPU,256M或以上内存,256M或以上内存卡,分别率320*640或以上,Android2.2或以上版本。

6.2 客户端测试

Android是一款十分优秀的智能操作平台,加上开源的先天性优势,以及谷歌的大力支持,吸引了众多设备生产商使用Android平台,正是由于大量的生产商为迎合消费者的需要,从而推出为不同消费阶层退出不同的Android设备,由于大量不同配置的Android

设备,使得Android碎片化问题的诞生,正是由于这个原因导致,必须要做好软件的兼容性测试,为了保障不同配置的Android设备都能够运行该客户端,所以做事前的测试是十分必要的。

由于没有实体Android设备,所以这次测试将会在模拟器上进行测试。

本次测试主要针对客户端在不同的Android版本下,主流分辨率下运行兼容性情况,测试客户端能够正常运行,如表5-2所示。

表5-2 客户端测试

测试总结:经过测试实验,发现在240x320分辨率下运行,客户端图片会有异常,经过查明主要原因是因为在开发是没有为低分辨率的图片,所以在低分辨率圆形下会出变形。为了确保软件正常运行,所以建议软件在320x480分辨率以上设备上运行。

7 结束语

经过了三个多月的艰辛和汗水终于完成了基于Android的新闻客户端的设计和论文撰写。本新闻客户端实现了能有在大部分移动设备上运行阅读新闻,评论新闻,查阅评论和通过网络软件升级的基本功能,而且还提过了较为人性化的用户界面,能让用户使用感觉方便和功能丰富。

在这三个多,通过不断的学习和代码的实现,个人获得了好多宝贵的经验和Android编程上的技巧,所以付出那么多的时间是非常值得的。

通过这次论文设计,我体会到一款好的应用,不但要重设计者的角度去思考,也更要顾及到使用者的方面,因为应用最终是交付到使用者手上来使用的,得到用户最终赞赏才证明应用是成功的。

但是这里主要还是从一个开发者的角度来看,通过在电子市场上的一般客户端中,我看到的是一款款十分优秀的应用。想到每个应用背后的复杂性,想到一句话“麻雀虽小,五脏俱全”,这样一款小小的软件,从界面到功能再到整个系统逻辑还有后台数据设计,都需要花费大量的时间和要掌握多少的知识量,深感到自身知识的严重不足。

我从整体设计和用户交互的UI层,到完成具体功能,直至底层数据库的设计,都花了很多时间去思考,做了很多繁琐的工作,必须要有十足的耐心,才能将系统尽可能设计的合理。

通过这次的毕业设计,觉得以前学过的知识太零碎,只是单纯的概念和计算之类的,十分不实用,但是这也要不断的通过实战来积累经验,但是通过这次论文设计,对了解到Activity和intent,content provider,service以及broadcast rec evier四大组件有了更深一层的理解。

在编写软件的过程中,我第一次使用MySQL和Tomcat来进行数据库编写和模拟服务器,这都是我原先专业所不涉及的,仅仅用了一天的时间去了解使用。还有当时在校学习过UI的异步更新以及多线程等知识点时,还是一知半解,但是通过这次设计,终于掌握到这个知识点的使用技巧。还有在程序调试,终于到各式各样的bug,确实十分苦恼,但这时需要的则是耐性,在这里也得到很好的锻炼。总的一句是耐心加细心,万般bug也不怕。

在这次毕业设计中,发现我们所学的知识实在是有限,但是能够通过百度和谷歌,来给我们扩展。在完成基于An droid 平台的新闻客户端的过程中,懂得了许多东西,也培养了独立思考和设计的能力,了解并熟悉了软件开发的相关流程,并熟悉了Google Android 平台的相关特性,提高了自己的编码能力和逻辑思考能力。

参考文献

[1] 于志龙、郑名杰、陈小凤、陈昱勋,郭秩均.Android SDK 开发范例大全[M].人民邮电出版社,2009.

[2] 靳岩、姚尚朗.Android 入门开发与实践[M].人民邮件出版社,2009.

[3] 傅志红、陈兴璐.深入浅出Google Android[M].人民邮电出版社,2009.

[4] 萨师煊、王珊.数据库系统概论(第三版)[M].高等教育出版社, 2006.

[5] 傅晓阳、郭晓燕、李昱.Java语言程序设计使用教程[M].吉林大学出版社,2010.

[6] 薛军超等编.MYSQL程序设计与数据库管理[M].人民邮电出版社,2001.

[7] 薛四新、贾郭军.软件项目管理[M].机械工业出版社,2005.

[8] 朱少民.软件测试方法与技术[M].清华大学出版社,2005.

[9] 郭宏志.Android应用开发详解. [M] .电子工业出版社,2010.

[10] 李刚.疯狂Android讲义[M].电子工业出版社,2011.

致谢

在这次毕业设计论文首先要感谢我的指导导师,给予我毕业论文设计上的指导。

大学四年,我所有的任课老师用你们的智慧也教给了我很多知识,谢谢你们!

在完成基于Android 平台的新闻客户端的过程中,还有论文的撰写和资料收集期间,还有通过参考各大论坛上的资料和源码,这些资料对我提供很大的帮助,以及在各大论坛提问,感谢各位热心朋友的回复,给了我很多新的灵感和思考方向,在此表示真诚的致谢。

最后,再次对老师和朋友帮助,表示衷心地感谢。

剽窃文字表述

1. 熟悉了Google Android 平台的相关特性,提高了自己的编码能力和逻辑思考能力。

2. 论文的撰写和资料收集期间,还有通过参考各大论坛上的资料和源码,这些资料对我提供很大的帮助,以及在各大

论坛提问,感谢

( 注释:红色文字表示文字复制部分; 黄色文字表示引用部分)

打印保存https://www.doczj.com/doc/6411224348.html,

返回顶部

相关主题
文本预览
相关文档 最新文档