基于Android的校园新闻app开发毕业设计.docx

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

基于Android的校园新闻app开发毕业设计.docx

《基于Android的校园新闻app开发毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Android的校园新闻app开发毕业设计.docx(22页珍藏版)》请在冰点文库上搜索。

基于Android的校园新闻app开发毕业设计.docx

基于Android的校园新闻app开发毕业设计

基于Android的校园新闻app开发毕业设计

届别2015届

学号201114100130

毕业设计(论文)

基于Android平台的校园新闻app的开发

姓名李威

系别、专业数学与金融学院信息与计算科学

导师姓名、职称刘智钢教授

完成时间2015年5月

摘要.......................................................IAbstract.....................................................II1绪论.......................................................12设计原理和方法...............................................1

2.1Android操作系统分析....................................1

2.2xml文件及pull解析介绍..................................3

2.3开发工具Eclipse介绍分析................................33系统分析....................................................4

3.1研究目的..............................................4

3.2需求分析..............................................4

3.3系统设计的原则.........................................44系统设计....................................................5

4.1数据库的设计...........................................55详细设计....................................................8

5.1首页主界面..............................................8

5.1.1功能描述..........................................8

5.1.2界面设计..........................................9

5.1.3具体实现及相关代码................................10

5.2新闻模块.............................................10

5.2.1新闻列表模块功能描述界面设计及主要代码实现..........10

5.2.2新闻详情:

........................................14

5.2.3新闻列表功能描述界面设计及主要代码实现.............14

5.3注册登录模块..........................................16

5.3.1功能描述........................................16

5.3.2界面设计.........................................17

5.3.3具体实现及相关代码................................18

5.4爆料模块..............................................18

5.4.1功能描述........................................18

5.4.2界面设计.........................................19

5.4.3具体实现及相关代码................................19结论.......................................................21参考文献.....................................................22致谢....................................................23

摘要

该软件,采用了xml解析技术中的Pull解析XmlPullParser工具解析,在xml文件中存储数据,模拟服务端的数据。

客户端中采用了基于Sqlite数据库的一对多的android对象关系映射框架ormlite,对数据进行存储,及进行增删改操作,使用了Handler机制,采用消息队列的方式处理线程池中的各种请求。

在图片加载使用了异步加载Image-Loader框架,加载网络数据时使用了Http协议。

关键词:

异步加载;ormlite;Handler;MaterialDesign

I

Abstract

Thesoftware,usingPullXmlPullParseranalytictoolsinanalyticalXMLparsingtechnology,datastoredintheXMLfile,simulationserverdata.TheclientusesapairoftheAndroidobjectrelationalmappingframeworkormlitebasedonSqlitedatabase,fordatastorage,andCRUDoperations,theuseoftheHandlermechanism,processingallkindsofthreadpoolrequestbywayofmessagequeue.TheimageisloadedusingasynchronousloadingImage-Loaderframework,loadingthenetworkdatausingtheHttpprotocol.

Keywords:

asynchronousloading;ormlite;Handler;MaterialDesign

II

1绪论

随着当今社会的快速发展,互联网已经走进家家户户,而手机也渐渐的成为了我们日常生活中不可或缺的设备,随着3g,4g的到来,手机互联网也从开始的打电话,发短信,慢慢的升级为QQ聊天,看新闻,看视频,网上购物,听歌,玩游戏.....变得日益丰富了起来,而未来的发展趋势,在一定程度上也和手机密切相关,在互联网迅速发展的今天,手机app也如同雨后春笋般崛地而起,各种app在我们的生活中产生了很大的影响,QQ的出现,使我们与亲朋好友之间更加方便联系,各种新闻类app比如网易新闻,今日头条的出现,使得我们虽然不出门,但可以通过app了解各地新闻,等等。

校园是一个丰富多彩的圈子,在这个圈子中,每天都有各种信息在圈子中流动,学校颁发的通知、系里面开展的活动、系里面发布的通知、系里面的讲座、学校的新鲜事、社团或学生会开展活动....等等很多这样的信息,而这款app正是在这样的背景下产生,目的将这些信息进行归类整理,并通过app进行传达,方便老师同学在第一时间掌握学校动态,app中也加入了爆料模块,这个模块提供一个共同的平台,在这个平台中,可以将自己身边的趣事,囧事,或者看到的不平事进行发表,给大家提供了一个交流的平台。

2设计原理和方法

2.1Android操作系统分析

Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(OpenHandsetAlliance)开发。

它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。

底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。

Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。

两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。

如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止(stopped),甚至被系统清除(kill)。

1

View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout”档将UI放置在视窗上,Android1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的AndroidHero手机即含有大量的widget。

至于ViewGroup是各种layout的基础抽象类(abstractclass),ViewGroup之内还可以有ViewGroup。

View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。

View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个eventlistener,例如:

当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。

另外还有Image等同于J2ME的BitMap。

操作系统与应用程序的沟通桥梁,并用分为两层:

函数层(Library)和虚拟机(VirtualMachine)。

Bionic是Android改良libc的版本。

Android同时包含了Webkit,所谓的Webkit,浏览器背后的引擎。

Surfaceflinger是就2D或3D的内容显示到屏幕上。

Android使用工具链(Toolchain)为Google自制的BionicLibc。

Android采用OpenCORE作为基础多媒体框架。

Android使用skia为核心图形引擎,搭配OpenGL/ES。

skia与LinuxCairo功能相当,但相较于LinuxCairo,skia功能还只是阳春型的。

2005年Skia公司被Google收购,2007年初,SkiaGL源码被公开,目前Skia也是GoogleChrome的图形引擎。

Android的多媒体数据库采用SQLite数据库系统。

数据库又分为共用数据库及私用数据库。

用户可通过ContentResolver类(Column)取得共用数据库。

Android的中间层多以Java实现,并且采用特殊的Dalvik虚拟机(DalvikVirtualMachine)。

Dalvik虚拟机是一种“暂存器型态”(RegisterBased)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

Android的结构上由三层构成第一层次由C语言实现,第二层次由C和C++实现,第三层次主要由Java代码实现。

第一层次和第二层次之间,从Linux操作系统的角度来看,是内核空间与用户空间的分界线,第一层次运行于内核空间,第2、3、4层次运行于用户空间。

第二层次和第三层次之间,是本地代码层和Java代码层的接口。

第三层次和第四层次之间,是Android的系统API的接口,对于Android应用程序的开发,第三层次以下的内容是不可见的,仅考虑系统API即可。

由于Android系统需要支持Java代码的运行,这部分内容是Android的运行环境(Runtime),由虚拟机和Java基本类组成。

由于Android应用程序的开发,主要关注第三层次和第四层次之间的接口。

2

2.2xml文件及pull解析介绍

XML(ExtensibleMarkupLanguage)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。

Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。

扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。

XML已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。

XML的解析方式基本上分为三类:

第一类是基于XML文档树结构的解析,例如DOM第二类是基于流式的解析,例如SAX、StAX和XPP;第三类是基于非提取式的解析,例如VTD-XML

XML与Access,Oracle和sqlserver等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:

数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。

事实上XML与其他数据表现形式最大的不同是:

他极其简单。

这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

Pull解析器的运行方式与SAX解析器相似。

它提供了类似的事件,如:

开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件。

跟SAX不同的是,Pull解析器产生的事件是一个数字,而非方法,因此可以使用一个switch对感兴趣的事件进行处理。

当元素开始解析时,调parser.nextText()方法可以获取下一个Text类型节点的值。

2.3开发工具Eclipse介绍分析

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。

虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。

尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。

Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成

3

了IBMJava开发工具系列的基础。

例如,WebSphereStudioApplicationDeveloper添

加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。

3系统分析

3.1研究目的

1.了解Android应用程序的设计和开发过程;

2.为学生老师提供一个快捷了解学校动态的的平台,促进学校中同学间的交流,方

便学校一些通知的下达,以及一些活动讲座的宣传。

3.提升自己的专业技能,使自己更好的找到工作。

3.2需求分析

该app的功能需求如下:

1.实现用户注册与登录并且用户可以利用第三方账号登录。

2.实现学校概况通过列表对学校情况进行介绍。

.实现新闻列表的展示每个栏目对应相应的新闻。

3

4.点击列表新闻进入新闻详情页面,并且用户可以评论分享,收藏。

5.大家爆料的展示,及爆料详情的展示。

6.爆料评论,及新闻评论的实现。

7.实现用户头修改密码,修改资料功能。

图集新闻的展示。

8.

3.3系统设计的原则

UI界面设计原则:

1.不要过度使用状态对话框。

2.不要使用固定的绝对定位的布局。

3.不要使用px单位,使用dp或者为文本使用sp。

4.干净而不过于简单。

5.关注内容而非修饰。

6.保存一致,使用户容易投入其中,可附加少许变化。

4

代码设计原则:

1.代码是一个应用的核心,代码设计好坏直接影响应用的健壮性,可读性,及可维护性,必须遵循以下的设计原则:

2.适当的为代码增加注释,一些方法,一些类,都必须加一些描述性的话,这样可以增强应用的可读性以及后期的维护。

3.各功能模块间尽量分开来,这样利于修改,维护。

4.合理分配各变量的作用域,及周期。

5.变量命名需要使用一些有意义的命名,包括变量的命名、类的命名、布局的命名、资源文件的命名。

4.系统设计

4.1数据库的设计

数据库表采用ormlite数据库,根据需求创建6个数据表,数据表中字段及字段类型,描述如以下表所示。

表1.用户表(user)

字段类型描述备注是否必须UserAddressVarchar2用户地址必须UserEmailVarchar2用户邮箱必须符合邮箱格式必须UserNameVarchar2用户名字母数字及下划线组成必须UserPassWordVarchar2密码长度不能小于6位必须UserPhoneVarchar2手机必须符合手机格式必须UserRealNameVarchar2真实姓名必须UserNickNameVarchar2昵称必须UserZipPostVarchar2邮编必须符合邮编格式必须

UserSexnumber性别0、女1、男2、未知必须

5

表2.新闻栏目表(newsChanne)

字段类型描述备注是否必须

IDnumber栏目ID新闻栏目表主键必须ChannelNameVarchar2栏目名称ImageUrlVarchar2栏目图片URLIsShowHomenumber是否固定栏目1.固定0.不固定ShowOrdernumber排序

表3.新闻表(news)

字段类型描述备注是否必须

numnumber每次获取新闻个数必须

chidnumber栏目ID必须

IDnumber新闻的ID号数据库表的主键必须ResourceGUIDnumber新闻GUIDTitleVarchar2新闻标题必须SummaryVarchar2摘要SourceFormVarchar2来源UpdateTimeDate修改时间IsCommentVarchar2是否允许评论True:

可评论False:

不可评论ResourceTypeVarchar2新闻类型1.普通新闻2.图集新闻

列表中显示的图片多个url地UploadPicNameVarchar2图片链接

SmallPicUrlVarchar2缩略图列表界面所显示缩略图

ChIDnumber栏目ID新闻所属的栏目

6

表4.新闻详情表(newsDetail)

字段类型描述备注是否必须

IDnumber新闻详情ID为新闻详情表的主键

TitleVarchar2新闻标题SummaryVarchar2摘要SourceFormVarchar2来源UpdateTimeVarchar2修改时间ResourceTypeVarchar2新闻类型UploadPicNamesVarchar2图片链接SmallPicUrlVarchar2缩略图

ChIDnumber栏目ID

表5.用户评论表(userComment)

请求参数名类型描述备注是否必填

numnumber每次获取评论个数必须

ridnumber对应资源ID必须

IDnumber评论表ID评论表的主键CommentContentVarchar2评论内容CommentTimeVarchar2评论时间GetGoodPointnumber点赞的总数UserGUIDVarchar2评论人GUIDUserIconVarchar2评论人头像链接

7

表6.用户爆料表(userRevelation)

表字段类型描述备注是否必须

IDnumberID爆料表的主键必须CreateTimeDate创建时间RevelationContVarchar2爆料内容ent

RevelationTypenumber爆料类型

PicUrlVarchar2图片路径

PicCountnumber图片数量RevelationStatnumber爆料状态us

UserGUIDnumber用户ID

UserPhoneVarchar2用户手机CommentCountnumber评论数量

UserNameVarchar2用户名

UserIconVarchar2用户头像UserNickNameVarchar2昵称

StatusVarchar2状态

5详细设计

5.1首页主界面

5.1.1功能描述

首页中采用了DrawerLayout实现侧滑菜单并遵循了MaterialDesign设计原则主界面由ViewPage+Fragment实现,在加载数据时用到了异步加载任务类AsyncTask用它来处理一些耗时操作,处理一些http请求,利用fragment灵活的进行页面替换,在首页中也

8

利用了ormlite的缓冲机制,当存在缓存时先加载缓存中的数据,如果没有则去解析xml文件获得数据。

如果解析出错,则也去加载缓存中的,在界面显示上利用了PullToRefresh中的PullToRefreshListView将获得的数据进行绑定及显示,其中列表中图片的加载用到了异步加载图片类ImageLoad,并使用了动画,使图片加载时呈现一个透明度不断增加的动画,增加用户体验。

5.1.2界面设计

9

5.1.3具体实现及相关代码

5.2新闻模块

5.2.1新闻列表模块功能描述界面设计及

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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