基于Android的新闻客户端毕业设计说明书.docx

上传人:b****6 文档编号:12267154 上传时间:2023-06-05 格式:DOCX 页数:29 大小:956.25KB
下载 相关 举报
基于Android的新闻客户端毕业设计说明书.docx_第1页
第1页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第2页
第2页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第3页
第3页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第4页
第4页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第5页
第5页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第6页
第6页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第7页
第7页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第8页
第8页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第9页
第9页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第10页
第10页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第11页
第11页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第12页
第12页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第13页
第13页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第14页
第14页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第15页
第15页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第16页
第16页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第17页
第17页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第18页
第18页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第19页
第19页 / 共29页
基于Android的新闻客户端毕业设计说明书.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Android的新闻客户端毕业设计说明书.docx

《基于Android的新闻客户端毕业设计说明书.docx》由会员分享,可在线阅读,更多相关《基于Android的新闻客户端毕业设计说明书.docx(29页珍藏版)》请在冰点文库上搜索。

基于Android的新闻客户端毕业设计说明书.docx

基于Android的新闻客户端毕业设计说明书

毕业设计说明书

 

基于Android的新闻客户端

学生姓名:

学号:

学院:

计算机与软件学院

专业:

化学工程与工艺

指导教师:

 

2016年6月

基于Android的新闻客户端

摘要

移动互联网的飞速发展,Android的使用用户数量逐渐庞大,基于Android的新闻客户端获取新闻更加便携,内容更加丰富,用户根据分类查找新闻更加高效,开发新闻客户端的需求日益增加.本项目实现新闻的分类显示,同时可以评论新闻,提高了用户的参与度,同时可以收藏,使用户可以及时快速查看自己喜欢的新闻。

本文首先介绍了研究背景和研究目的与意义,然后进行需求分析,把项目分为分类显示新闻模块,显示新闻详细信息模块,新闻评论模块,新闻收藏模块,用户登录注册模块,显示用户个人信息模块以及显示个人收藏模块,接着介绍了项目的总体架构和各模块的概要设计,然后详细说明了各模块的详细设计以及所用关键技术,本项目的数据传输格式主要采用JSON格式,可以异步加载新闻,接着展示测试,最后总结。

关键词:

互联网,新闻客户端,便携,JSON

BasedontheAndroidNewstotheClient

Abstract

TherapiddevelopmentofmobileInternet,theuseofalargenumberofusersAndroidgraduallygetnewsAndroid—basednewsclientmoreportable,moresubstantial,moreefficientforuserstofindnewsaccordingtotheclassificationdevelopednewsclientdemandisincreasing.Theclassificationoftheprojectrealizationnewsshow,andcancommentonthenews,improveuserengagement,andcancollection,sothatuserscanviewtheirfavoritenewsinatimelymanner,moreefficient.Thispaperintroducestheresearchbackgroundandpurposeandmeaning,andthenintroduceanalysisneedsanalysis,theprojectisdividedintocategorydisplaynewsmodule,themoduledetailsshownews,newscommentarymodule,newscollectionmodule,theuserloginregistrationmoduledisplaystheuser’spersonalinformationmoduleanddisplaysthepersonalcollectionofmodules,thenintroducestheoutlinedesigntheoverallstructureandeachmoduleoftheproject,andadetaileddescriptionofthedetaileddesignofeachmoduleaswellastheuseofkeytechnologies,datatransmissionformatoftheprojectmainlyusesJSONformatthatcanbeloadedasynchronouslyNewsandshowtestconcluded.。

Keywords:

Internet,newsclient,portable,JSON

 

1需求分析

本章首先分析研究背景,介绍了研究目的与意义,接着分析并介绍了系统的功能性需求与非功能性需求.

1。

1研究背景

现在智能手机已经成为人们必不可少的工具,网络也在飞速发展[1],用户从网上获取数据的需求也越来越大,新闻作为人们了解生活变化的重要途径,因此,网上获取新闻的用户数量飞速增加[2].随着大数据的到来,用户获取资料的方法也随之改变,新闻的发展与人们资料的获取不可分割.现在已出现许多大型的新闻客户端,如:

腾讯、新浪、搜狐等[3]。

人们可以利用智能手机新闻客户端获取信息,新闻客户端发生如此快速的发展,在于它有以下的特点:

(1)便携性:

智能手机客户端可以随时,随处的查看新闻,使用方便,可以更好的满足用户需求,用户通过新闻客户端获取新闻逐渐成为趋势.

(2)数据广泛:

随着大数据的到来,互联网的信息更加丰富,新闻客户端可以从网上海量的数据中获取资料[4],使得内容更加广泛,远远多于传统的报纸,书籍等获取新闻的方式。

(3)及时性:

用户可以随时的登录客户端,通过网络获取数据,智能手机可以随时携带,网络可以随时获取,使得新闻客户端更加的灵活,更好的满足用户的生活需求.

(4)良好的用户体验:

用户可以根据自己的爱好,有选择性的阅读新闻,同时可以评论新闻,参与互动,并且可以查看其他用户的看法,参考别人意见,更好的了解人们的生活动态。

1.2项目目的及意义

在满足用户可以分类获取新闻的同时,增加跟帖,收藏新闻等功能,用户可以查看跟帖与用户个人收藏,使用户更加具有参与性,成为有观点的阅读者[5],使新闻更加具有可读性.用户可以根据跟帖数和跟帖内容,更加快速的获取热门新闻,更快的选择新闻,节约用户的选择时间,更快的获取新闻,这样更具有用户体验,更容易满足用户的需求。

Android新闻客户端目标:

在满足用户查看新闻的基础上,更重要的是给用户更好的阅读体验[6],使用户可以在短的时间内获取多的自己感兴趣的新闻信息。

为了达到以上目的,从而实现以下功能:

(1)对新闻进行分类显示,使用户可以分类选择自己喜欢的新闻,更加高效,快速,分别设置了如下分类:

国内、国际、军事、体育、科技、财经、游戏。

(2)用户可以注册,登录,同时可以评论新闻,查看评论,使用户可以根据新闻的评论数与评论内容,更好、更快的选取新闻.

(3)用户可以收藏新闻,并且查看收藏的新闻,使用户可以及时的翻看已经看过的感兴趣的新闻,加快用户的搜索效率。

(4)采用异步加载数据,给用户更好的体验,同时减少了用户的等待时间,更好的满足用户需求.

(5)增加个人信息设置,实现用户登录,修改个人信息,查看自己的收藏。

(6)增加夜间模式的设置,满足用户夜间阅读新闻的需求,给用户带来更好的体验.

后天管理目标:

实现对新闻的增删改查,对用户评论的显示与删除,以及对用户的增删改查。

1.3Android介绍

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备上[7]。

Android的创始人是AndyRubin,Android一词出自于科幻小说《未来夏娃》[8]。

Android系统是一个四层的结构,依次是Linux内核层(Linuxkernel)、系统运行库层(Libraries和AndroidRuntime)、应用框架层(ApplicationFramework)、应用层(Applications)[9]。

图1.1Android系统架构

应用层(Application):

顾名思义,就是指Android的应用,也就是我们平时所使用的手机软件.Android的应用很多,常见的有拍照、摄像、聊天、视频等方面的应用.Android的开发一般在应用层上做开发,因此,开发人员只需要知道应用框架层的使用就可以进行开发了,而不需要知道Android更底层的使用。

应用框架层(ApplicationFramework):

同样,顾名思义,这一层就是应用程序所使用的框架。

这一层的主要作用就是封装了更低层的使用方法,为底层的使用提供API,同时,这一层也用于简化开发时的组件重用.这一层为我们提供了大量的组件:

视图(Views)、内容提供器(ContentProvider)、资源管理器(ResourceManager)、通知管理器(NotificationManager)、活动管理器(ActivityManager)、窗口管理器(WindowsManager)、包管理器(PackageManager)、即时通讯协议服务(XMPP)[10]。

一般开发人员会根据自己的需求来使用这些组件,或者自定义组件。

程序库和运行库(Libraries和Runtime):

这一层主要提供了一些Android需要的C/C++库、SQLite、媒体库等;运行库中包括了一个核心库(CoreLibraries),提供了JAVA编程语言核心库的大多数功能,以及一个虚拟机(DVM,DalvikVirtualMachine)。

对于这一层,主要是为了能够将一些非Android语言的代码调用包含到Android中,使得Android能够调用C/C++的代码。

开发人员如果要对库进行开发,不仅需要有深厚的Android知识,还必须会C/C++语言开发,同时,还需要会JNI开发[11]。

Android内核:

Android的核心是由Linux来提供服务的.Android是建立在Linux2。

6上的,因此需要Linux内核来为Android的运行做出保障。

在Android内核之上的是系统软件,而在Android内核之下的是Android的硬件平台,所以Android内核充当了两者之间的媒介。

1。

4系统描述

本新闻客户端分为客户端和服务器两部分,以及后台管理。

服务器主要用于对文字,图片等数据的存储。

客户端是展示给用户的部分,用户可以做相应的操作.

后台管理主要是对新闻信息的增删改查管理。

1。

5功能性需求分析

新闻客户端通过功能性需求分析可以将本项目按功能划分为以下功能模块:

显示新闻、用户评论、查看跟帖、用户收藏新闻、显示个人收藏,显示个人信息和夜间模式设置.后台管理系统实现对新闻信息的管理,下面针对各功能模块分别进行功能描述.

1.5.1新闻客户端的主要功能

新闻客户端主要实现对新闻的分类显示功能,类别包括焦点、国内、国际、军事、体育、财经、科技、汽车等。

用户可以按以上类别查看任意栏目下新闻内容,并可以点击进入相应新闻的详细介绍界面查看具体内容和图片;同时用户可以对感兴趣的新闻进行相应的评论(即评论功能,用户评论新闻之前需要注册登录)。

用户还可以收藏部分新闻,并随时可以查看个人收藏,从而为用户提供更好的体验.查看跟帖功能有助于提高用户的参与度,同时使用户更有效的选取新闻。

用户在夜间阅读新闻,可以切换到夜间模式,从而更好的满足用户的需求,更好的为用户提供体验。

1。

5.2新闻客户端的功能模块

新闻客户端从整体上可以细分为七个功能模块:

显示新闻、用户评论、查看跟帖、用户收藏新闻、显示个人收藏,显示个人信息和夜间模式设置.

(1)显示新闻:

用户进入的主界面即为显示新闻模块,用户按类别查看不同类别的新闻.用户在该模块可以按分类查看自己喜欢类别的新闻,对选定的新闻可以进入其显示新闻的详细界面,其中新闻详细界面可以显示相关新闻的具体内容及相关图片,可以左右滑动来切换相同类别下的新闻,具有良好的用户体验.新闻主界面的栏目列表由多个列表项组成,每个列表项包括新闻的标题,概要,发布时间,进入新闻详细界面显示,方可看到新闻的具体内容,同时右上部显示新闻的跟帖数,下方是新闻的评论部分。

(2)新闻跟帖:

用户在阅读新闻的同时,让用户及时的评论新闻,表达个人观点,使用户成为有观点的新闻阅读者[12],阅读者彼此之间可以互相查看跟帖,提高阅读新闻的互动性。

用户可以点击跟帖,查看跟帖内容,从而更好的了解不同用户的观点,同时可以根据跟帖数更快的选取热门新闻,提高用户查新闻的效率。

(3)收藏新闻:

用户在阅读新闻后对感兴趣的新闻收藏,收藏前先注册登录,收藏后可以随时的登录查看自己的收藏,这样用户可以多次快速的阅读感兴趣的新闻,无需再去查找,阅读效率提升,更好的满足用户体验。

(4)个人中心:

用户可以注册,登录,这样可以及时的查看自己的收藏,可以更快的获取自己感兴趣的新闻.

(5)设置:

主要实现夜间模式与白天模式的切换,这样可以使用户更好的适应本客户端,更好的满足用户的需求。

1。

5。

3后台管理功能模块

本模块主要实现对新闻的增删改查,以及评论的查看,删除,还可以对用户信息进行增删改查。

1。

6非功能性需求分析

本项目首先完成新闻客户端对用户的基本需求,同时还应满足一些非功能性的要求,如:

响应时间,可扩展性,以及易用性。

1。

6。

1响应时间需求

本项目是基于Android平台的,需要从数据库中获取大量数据,这就要求获取数据的时间尽可能的短,减少用户的等待时间,这样才能更好的满足用户的需求,给用户更好的体验[13].同时用户在获取数据的时候还可以阅读以显示新闻,无需死死的等待数据的加载[14],即异步获取数据。

1。

6。

2可扩展性需求

本项目在完成以后,如对项目有新功能的添加,添加尽量的简单,无需修改大量的代码,代码的编写要规范同时尽量的做到高内聚,低耦合[15],这样可以更好应对以后的功能的添加,提高项目的可扩展性.

1。

6。

3易用性需求

本项目的开发主要给用户使用,现在的新闻客户端越来越多,必须满足用户使用时简单,易查找相关信息,同时满足大部分用户的逻辑,实现功能的同时,用户可以快速的了解软件的使用.

2基于Android平台的新闻客户端的概要设计

本模块从整体框架对本项目说明,首先介绍了系统的应用架构与总体架构,接着从新闻客户端与后台管理两部分对本项目进行了简单,概述性的介绍,介绍了本项目的模块划分与每个模块整体上的实现。

2。

1系统架构设计

新闻客户端用户发出获取新闻,评论新闻,收藏新闻等请求时,服务器向数据库作出相应的Url请求,数据库根据相应的请求操作数据库,并以JSON数据格式传输,最后对这些数据进行解析,最后反馈给用户。

图2。

1应用架构

2.2系统客户端实现总体架构

用户看到的是采用XML布局文件描述的界面(视图层),用户可以进行评论,收藏等操作,由Activity来根据视图层获取的数据进行处理(控制层)并向服务器发出Url请求[16]。

其中服务器从数据库获取数据的过程,把数据库的每张表封装成一个model类(模型层),通过servlet来控制对数据库中的表进行操作并获取数据,

总体上采用MVC设计模式。

(1)模型层:

对数据库中的表进行封装,每个表封装成一个model类,每个表中的一个字段对类中的一个属性,可以通过get和set方法对其设置,该模型主要负责对数据库的存取数据。

(2)视图层:

是应用程序中用于展示给用户的部分,本项目主要通过XML布局显示。

(3)控制层:

负责从视图获取数据,并向数据库发出请求,控制数据之间的传输.

通过MVC模式可以使项目的设计更加有层次,有助于管理复杂的程序。

图2。

2总体架构

2.3系统功能模块划分

根据新闻客户端的需求,本项目划分为以下模块,分别为分类显示新闻模块,新闻详细信息模块,用户信息模块,用户登录模块,用户评论模块。

图2.3客户端功能模块组织结构

后台管理用于对新闻信息的增删改查,以及新闻评论信息的查看和删除,还可以对用户信息增删改查。

图2.4后台模块组织结构

2.4系统功能模块的分析及设计

本项目分为新闻客户端和后台新闻管理,接下来从这两部分进行分析及相关设计的介绍。

新闻客户端的设计是本项目的主要部分,先介绍本模块的设计。

本模块根据功能可以分为分类显示新闻信息,显示新闻详细信息,评论新闻,收藏新闻,显示个人信息,跟换夜间模式等模块。

具体功能的概要设计如下:

(1)分类显示新闻:

客户端通过url传去新闻的分类编号cid,获取新闻的条数count以及开始新闻编号startnid来获取数据库中数据,通过JSON格式传到客户端,然后进行解析,在分类显示新闻界面显示给用户.

(2)新闻详细信息:

通过点击分类新闻界面,新启动一个Activity,并将对应nid传过去,然后通过nid从数据库获取新闻的详细信息,显示在新闻详细信息界面,供用户阅读。

(3)评论新闻:

通过post请求将用户输入的评论信息以JSON格式传输到服务器,并将数据插入到数据库。

当用户查看新闻的评论时,通过get请求从服务器获取相应的评论,对获取的JSON数据格式解析,并显示在对应的显示新闻评论的界面。

(4)收藏新闻:

用户在新闻详细信息界面可以对自己感兴趣的新闻收藏,点击收藏按钮,将点击对应的新闻编号nid和登录的用户编号uid通过post请求传到服务器,并保存到mysql数据库.当用户查看自己的收藏是,根据自己的用户编号查到新闻编号,然后将对应新闻编号的新闻信息通过get请求获取到,解析并显示供用户阅读。

(5)用户登录注册:

用户可以输入自己的信息,点击注册,提交给服务器并保存到数据库.登录时,根据用户输入的信息与数据库的数据对比,判断是否登录成功。

2.5数据库设计

本项目数据库用五张表存储,分别为新闻内容表、新闻分类表、新闻收藏表、新闻评论表、用户信息表.

(1)新闻内容表:

用于存放新闻内容,其中nid唯一标识新闻,cid标识其所属分类,与新闻分类表相关联,deleted字段用于标识新闻是否存在,imgsrc用于标识该新闻对应的图片。

表2。

1新闻内容表

属性名

数据类型

是否为空

含义

nid

int

新闻编号

cid

int

分类编号

title

varchar

新闻标题

digest

varchar

新闻摘要

续表2。

1新闻内容表

属性名

数据类型

是否为空

含义

body

text

新闻内容

source

varchar

新闻来源

ptime

varchar

新闻时间

imgsrc

varchar

新闻图片

deleted

int

新闻是否被删

(2)新闻分类表:

用于显示新闻的所属类别,主要分为焦点,国内,国际,军事,财经等类别。

表2。

2新闻分类表

属性名

数据类型

是否为空

含义

属性名

数据类型

是否为空

含义

cid

int

分类编号

title

varchar

分类名称

deleted

int

是否被删

(3)新闻收藏表:

nid表示标识对应新闻,uid用于标识收藏新闻的用户,可以查看某个用户所收藏的新闻信息。

 

表2。

3新闻收藏表

属性名

数据类型

是否为空

含义

sid

int

收藏编号

username

varchar

用户名

nid

int

新闻编号

uid

int

用户编号

(4)新闻评论表:

nid表示新闻编号,用来标识评论对应的新闻。

表2。

4新闻评论表

属性名

数据类型

是否为空

含义

cid

int

评论编号

nid

int

新闻编号

ptime

varchar

评论时间

region

varchar

地区

content

varchar

评论内容

deleted

int

是否被删

(5)用户信息表:

username和password分别表示用户名和密码,用于用户的登录验证。

表2.5用户信息表

属性名

数据类型

是否为空

含义

uid

int

用户编号

username

varchar

用户名

password

varchar

用户密码

图2.5数据库表结构

 

3详细设计

本章对本项目各个功能模块的具体实现进行了详细的介绍说明,接着介绍了本项目中技术。

主要对本项目的模块实现细节的分析与说明。

3。

1显示新闻模块

本模块最上端由一个RelativeLayout实现,里面有两个按钮,一个点击进入个人信息界面,一个点击进行新闻信息的刷新,还有一个文本用于显示新闻名字。

接着又是一个RelativeLayout用于显示新闻分类,其中由HorizontalScrollView实现,可以左右滚动来显示分类。

中间由ListView实现,每个ListView中的item包含一个XML文件用于显示新闻的标题,摘要,来源于时间,这些信息都由TextView实现.

图3。

1分类显示新闻时序图

在MainActivity通过id找到个人信息按钮,并通过setOnClickListener方法设置点击要处理的事情,在匿名内部类OnClickListener的onClick方法中通过intent启动一个Activity从而跳到个人信息界面。

点击刷新按钮,调用继承了AsyncTask的LoadNewsAsyncTask中的execute方法来实现信息的刷新。

Excute方法中通过调用获取新闻信息的类来再次获取数据并显示到新闻客户端,从而实现新闻的刷新。

接下来是显示新闻分类部分,新闻分类保存到了一个array。

XMl文件中,在MainActivity中通过id获取该数组,创建GridView并设计其属性,创建CustomSimpleAdapter通过其参数将GridView,以及需要放置的XMl位置对应在一起,最后放到本模块的LinearLayout中显示出来.其最外层是LinearLayout,里面由orizontalScrollView实现,再里面放的是GridView,每个GridView元素是一个TextView。

最后就是新闻标题,摘要,时间,出处等的显示。

整体是由一个ListView,同样使用适配器模式设计,通过SimpleAdapter对象将获取的新闻标题,摘要,时间,出处与相应的XML对应上,然后通过setAdapter方法将适配器加到ListView上,使ListView显示新闻的摘要信息。

3。

2显示新闻详细信息模块

最上面是一个RelativeLayout,RelativeLayout中最左端是一个Button用来切换到上一条,然后是一个TextView用来显示新闻的分类,接着又是一个Button用来显示新闻的跟帖数,最后是一个Button用来切换到下一条新闻.中间用的是一个ViewFlipper用来显示新闻的详细信息。

最下面用include包含一个newslist_item.xml用来显示新闻的跟帖部分。

其中newslist_item。

xml中包含两个LinearLayout,第一个LinearLayout用来显示写跟帖前的部分,第二个LinearLayout用来显示发表的时候的信息.

图3.2显示新闻详细信息时序图

上面切换新闻上一条和下一条的两个按钮,在NewsDetailsActivity中通过id获取并设置OnClickListener点击响应事件,通过ViewFlipper的showPrevious()和showNext()方法来切换新闻的上一条和下一条.显示新闻分类的TextView,通过setText()来设置它的文本信息,其中信息

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2