当前位置:文档之家› 基于Android的新闻客户端毕业设计

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

基于Android的新闻客户端毕业设计1 需求分析本章首先分析研究背景,介绍了研究目的与意义,接着分析并介绍了系统的功能性需求与非功能性需求。

1.1 研究背景现在智能手机已经成为人们必不可少的工具,网络也在飞速发展[1],用户从网上获取数据的需求也越来越大,新闻作为人们了解生活变化的重要途径,因此,网上获取新闻的用户数量飞速增加[2]。

随着大数据的到来,用户获取资料的方法也随之改变,新闻的发展与人们资料的获取不可分割。

现在已出现许多大型的新闻客户端,如:腾讯、新浪、搜狐等[3]。

人们可以利用智能手机新闻客户端获取信息,新闻客户端发生如此快速的发展,在于它有以下的特点:(1)便携性:智能手机客户端可以随时,随处的查看新闻,使用方便,可以更好的满足用户需求,用户通过新闻客户端获取新闻逐渐成为趋势。

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

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

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

1.2 项目目的及意义在满足用户可以分类获取新闻的同时,增加跟帖,收藏新闻等功能,用户可以查看跟帖与用户个人收藏,使用户更加具有参与性,成为有观点的阅读者[5],使新闻更加具有可读性。

用户可以根据跟帖数和跟帖内容,更加快速的获取热门新闻,更快的选择新闻,节约用户的选择时间,更快的获取新闻,这样更具有用户体验,更容易满足用户的需求。

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

为了达到以上目的,从而实现以下功能:(1)对新闻进行分类显示,使用户可以分类选择自己喜欢的新闻,更加高效,快速,分别设置了如下分类:国内、国际、军事、体育、科技、财经、游戏。

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

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

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

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

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

后天管理目标:实现对新闻的增删改查,对用户评论的显示与删除,以及对用户的增删改查。

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

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

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

图1.1 Android系统架构应用层(Application):顾名思义,就是指Android的应用,也就是我们平时所使用的手机软件。

Android的应用很多,常见的有拍照、摄像、聊天、视频等方面的应用。

Android的开发一般在应用层上做开发,因此,开发人员只需要知道应用框架层的使用就可以进行开发了,而不需要知道Android更底层的使用。

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

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

这一层为我们提供了大量的组件:视图(Views)、内容提供器(Content Provider)、资源管理器(Resource Manager)、通知管理器(Notification Manager)、活动管理器(Activity Manager)、窗口管理器(Windows Manager)、包管理器(Package Manager)、即时通讯协议服务(XMPP)[10]。

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

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

对于这一层,主要是为了能够将一些非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方法对其设置,该模型主要负责对数据库的存取数据。

相关主题