基于Android的校园新闻app开发毕业设计.docx
- 文档编号:17442843
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:38
- 大小:2.85MB
基于Android的校园新闻app开发毕业设计.docx
《基于Android的校园新闻app开发毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Android的校园新闻app开发毕业设计.docx(38页珍藏版)》请在冰点文库上搜索。
基于Android的校园新闻app开发毕业设计
毕业设计(论文)
基于Android平台的校园新闻app的开发
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
摘要
该软件,采用了xml解析技术中的Pull解析XmlPullParser工具解析,在xml文件中存储数据,模拟服务端的数据。
客户端中采用了基于Sqlite数据库的一对多的android对象关系映射框架ormlite,对数据进行存储,及进行增删改操作,使用了Handler机制,采用消息队列的方式处理线程池中的各种请求。
在图片加载使用了异步加载Image-Loader框架,加载网络数据时使用了Http协议。
关键词:
异步加载;ormlite;Handler;MaterialDesign
Abstract
Thesoftware, usingPull XmlPullParseranalytictools in analytical XMLparsingtechnology, datastored intheXMLfile, simulation server data. Theclient usesapairof the Androidobjectrelationalmappingframework ormlite basedonSqlitedatabase, fordatastorage, and CRUDoperations, theuseoftheHandler mechanism, processing allkindsof threadpool request by wayofmessagequeue. Theimageisloaded using asynchronousloading Image-Loaderframework, loadingthenetworkdata usingtheHttp protocol.
Keywords:
asynchronous loading; ormlite; Handler; Material Design
1绪论
随着当今社会的快速发展,互联网已经走进家家户户,而手机也渐渐的成为了我们日常生活中不可或缺的设备,随着3g,4g的到来,手机互联网也从开始的打电话,发短信,慢慢的升级为QQ聊天,看新闻,看视频,网上购物,听歌,玩游戏.....变得日益丰富了起来,而未来的发展趋势,在一定程度上也和手机密切相关,在互联网迅速发展的今天,手机app也如同雨后春笋般崛地而起,各种app在我们的生活中产生了很大的影响,QQ的出现,使我们与亲朋好友之间更加方便联系,各种新闻类app比如网易新闻,今日头条的出现,使得我们虽然不出门,但可以通过app了解各地新闻,等等。
校园是一个丰富多彩的圈子,在这个圈子中,每天都有各种信息在圈子中流动,学校颁发的通知、系里面开展的活动、系里面发布的通知、系里面的讲座、学校的新鲜事、社团或学生会开展活动....等等很多这样的信息,而这款app正是在这样的背景下产生,目的将这些信息进行归类整理,并通过app进行传达,方便老师同学在第一时间掌握学校动态,app中也加入了爆料模块,这个模块提供一个共同的平台,在这个平台中,可以将自己身边的趣事,囧事,或者看到的不平事进行发表,给大家提供了一个交流的平台。
2设计原理和方法
2.1Android操作系统分析
Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。
它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。
底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。
Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。
两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。
如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止(stopped),甚至被系统清除(kill)。
View等同于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。
至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。
View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。
View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:
当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。
另外还有Image等同于J2ME的BitMap。
操作系统与应用程序的沟通桥梁,并用分为两层:
函数层(Library)和虚拟机(Virtual Machine)。
Bionic是 Android 改良libc的版本。
Android 同时包含了Webkit,所谓的Webkit,浏览器背后的引擎。
Surface flinger 是就2D或3D的内容显示到屏幕上。
Android使用工具链(Toolchain)为Google自制的Bionic Libc。
Android采用OpenCORE作为基础多媒体框架。
Android 使用skia 为核心图形引擎,搭配OpenGL/ES。
skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是阳春型的。
2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。
Android的多媒体数据库采用SQLite数据库系统。
数据库又分为共用数据库及私用数据库。
用户可通过ContentResolver类(Column)取得共用数据库。
Android的中间层多以Java实现,并且采用特殊的Dalvik虚拟机(Dalvik Virtual Machine)。
Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
Android的结构上由三层构成第一层次由C语言实现,第二层次由C和C++实现,第三层次主要由Java代码实现。
第一层次和第二层次之间,从Linux操作系统的角度来看,是内核空间与用户空间的分界线,第一层次运行于内核空间,第2、3、4层次运行于用户空间。
第二层次和第三层次之间,是本地代码层和Java代码层的接口。
第三层次和第四层次之间,是Android的系统API的接口,对于Android应用程序的开发,第三层次以下的内容是不可见的,仅考虑系统API即可。
由于Android系统需要支持Java代码的运行,这部分内容是Android的运行环境(Runtime),由虚拟机和Java基本类组成。
由于Android应用程序的开发,主要关注第三层次和第四层次之间的接口。
2.2xml文件及pull解析介绍
XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。
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,它构成了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.保存一致,使用户容易投入其中,可附加少许变化。
代码设计原则:
1.代码是一个应用的核心,代码设计好坏直接影响应用的健壮性,可读性,及可维护性,必须遵循以下的设计原则:
2.适当的为代码增加注释,一些方法,一些类,都必须加一些描述性的话,这样可以增强应用的可读性以及后期的维护。
3.各功能模块间尽量分开来,这样利于修改,维护。
4.合理分配各变量的作用域,及周期。
5.变量命名需要使用一些有意义的命名,包括变量的命名、类的命名、布局的命名、资源文件的命名。
4.系统设计
4.1数据库的设计
数据库表采用ormlite数据库,根据需求创建6个数据表,数据表中字段及字段类型,描述如以下表所示。
表1.用户表(user)
字段
类型
描述
备注
是否必须
UserAddress
Varchar2
用户地址
必须
UserEmail
Varchar2
用户邮箱
必须符合邮箱格式
必须
UserName
Varchar2
用户名
字母数字及下划线组成
必须
UserPassWord
Varchar2
密码
长度不能小于6位
必须
UserPhone
Varchar2
手机
必须符合手机格式
必须
UserRealName
Varchar2
真实姓名
必须
UserNickName
Varchar2
昵称
必须
UserZipPost
Varchar2
邮编
必须符合邮编格式
必须
UserSex
number
性别
0、女1、男2、未知
必须
表2.新闻栏目表(newsChanne)
字段
类型
描述
备注
是否必须
ID
number
栏目ID
新闻栏目表主键
必须
ChannelName
Varchar2
栏目名称
ImageUrl
Varchar2
栏目图片URL
IsShowHome
number
是否固定栏目
1.固定0.不固定
ShowOrder
number
排序
表3.新闻表(news)
字段
类型
描述
备注
是否必须
num
number
每次获取新闻个数
必须
chid
number
栏目ID
必须
ID
number
新闻的ID号
数据库表的主键
必须
ResourceGUID
number
新闻GUID
Title
Varchar2
新闻标题
必须
Summary
Varchar2
摘要
SourceForm
Varchar2
来源
UpdateTime
Date
修改时间
IsComment
Varchar2
是否允许评论
True:
可评论False:
不可评论
ResourceType
Varchar2
新闻类型
1.普通新闻2.图集新闻
UploadPicName
Varchar2
图片链接
列表中显示的图片多个url地址
SmallPicUrl
Varchar2
缩略图
列表界面所显示缩略图
ChID
number
栏目ID
新闻所属的栏目
表4.新闻详情表(newsDetail)
字段
类型
描述
备注
是否必须
ID
number
新闻详情ID
为新闻详情表的主键
Title
Varchar2
新闻标题
Summary
Varchar2
摘要
SourceForm
Varchar2
来源
UpdateTime
Varchar2
修改时间
ResourceType
Varchar2
新闻类型
UploadPicNames
Varchar2
图片链接
SmallPicUrl
Varchar2
缩略图
ChID
number
栏目ID
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 校园 新闻 app 开发 毕业设计