基于Android的糗事百科项目文档_第1页
基于Android的糗事百科项目文档_第2页
基于Android的糗事百科项目文档_第3页
基于Android的糗事百科项目文档_第4页
基于Android的糗事百科项目文档_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网应用开发实践大作业学院名称: 计算机与信息工程学院班级名称: 学生姓名: XXX 学 号: 题 目: 基于 Android 的糗事百科 APP 设计与实现指导教师姓 名:1、引言1.1 开发背景随着社会的进步和经济的繁荣,手机己经成为人们日常生活工作中一种必不可少的娱乐通讯工具,其制造成本不仅越来越低,而且它所提供的功能也越来越丰富强大,成为名副其实的智能手机。手机的使用日渐多功能化,形式多样化,无论是视觉上还是使用上,越来越符合用户需求。移动互联网技术逐渐渗透到人们生活、工作的各个领域,俨然已是人类社会必不可少的一部分,为满足用户更好的体验,手机已经从过去单一的通话工具变成功能齐全的个人移动平台产品。2011 年 4 月,苹果公司在自主研发的手机终端上推出了划时代的手机应用产品Siri,这一应用将语音识别技术成功应用在移动终端的人机交互中,取的了巨大的成功,随后,类似 Siri 的语音助理产品蜂拥而至。众所周知,苹果公司的 iOS 系统是非开源的,Google 互联网公司于 2007 年 11 月正式推出一款免费、开放源代码、支持第三方开发的智能手机操作系统 Android 系统,因其开放源代码的优势,越来越受到广大爱好者以及软硬件开发商的青睐,到2010 年末,在市场占有率上,Android 系统超过诺基亚 Symbian 系统。2015 年9 月 30 号,谷歌首席执行官桑达尔宣布了一组数据,Android 操作系统的使用者仅仅 16 个月就增加了 4 亿,市场占比达到 80%,在智能手机中占有率达到 85%。与此同时,Android 系统平台下的各种应用软件也在不断出现、更新、优化。1.2 研究意义手机使用频率的明显提高,很大一部分是因为用户可以随时随地方便快捷的通过手机查找到自己需要的信息。调查表明搞笑视频或者笑话可以让人心情愉悦,生活工作的压力大,难免会心情烦操,看搞笑视频或者笑话也成为一些人生活的调剂品,缓解工作的疲劳,舒缓烦躁的心情,有时候也用于打发无聊的时光。所以在休闲的时候手机用户会使用手机上网搜索一些糗事信息以供娱乐,但是上网查找的信息比较单一,还有一点就是只能看别人发的搞笑事情,不能在此平台上分享自己遇到的搞笑事情。基于这种情况,我们小组经研究决定开发一款集合纯图糗事、纯文糗事、视频糗事等等的糗事大全 APP 名为糗事百科,此系统不仅仅方便用户根据自己的喜好查看相关糗事,而且还可以让用户分享糗事、评论糗事以及查看评论,值得一提的还有另一个亮点就是集成了直播模块。本款 APP 就是为了喜爱看糗事的用户设计的,是其休闲娱乐的头号选择。1.3 研究现状作为一种有趣的亚文化的形式,“糗”正在悄悄地芡延。从糗事百科到电影泰囧,从暴走漫画到恶搞视频,这样一种看、读、硒糗事的文化正在兴旺。中国社会从来没有一个时期如此疯长糗事的言说狂欢,也从来没有一个时期人们会在这种换享的叙卒狂欢里面表达着愤怒、不满、委屈、沮丧和吊诡的快感。2011 年初数据显示,仅正式上市两年的操作系统 Android 以其极大优势,发展空间更胜一筹,超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。众所周知,中国拥有潜力巨大的安卓手机市场。2012 年 11 月数据显示,Android 占据全球智能手机操作系统市场 76%的份额,中国市场占有率为90%。Android 系统,拥有低廉的引入成本,良好的用户体验开放性较强的特点,加上 Android Market 和众多第三方应用商店做后盾,在应用方面的资源也非常丰富;虽然 Android 目前存在安全性和版本混乱等问题,但由于其适应了移动互联网的发展趋势,切合了移动互联网产业链各方的发展变化需求,所以取得了迅猛的发展。2、相关技术概述2.1 Android 平台概述Android 是谷歌公司于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,号称是首个为移动终端打造的真正开放和完整的移动软件,该平台包括移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Android 操作系统主要包括如下特性:应用框架:用于开发可重用可替代的组件。 Dalvik 虚拟机:Android 采用的 Java 虚拟机是自主开发的代号为 Dalvik的虚拟机,在保证 API 方面兼容的同时 Dalvik 针对移动手机进行了大幅优化,占用资源更小,运行效率更高。 SQLite 数据库:SQLite 提供结构化的数据存储。它是一款轻型免费的且开源的数据库,设计目标是嵌入式的。它具备占用资源低、需要的内存空间少、处理速度较快,并且还支持事务处理功能等优点。 多媒体支持:支持各种通用的音视频和静态图像格式(MPEG4、MP3、JPG、PNG、GIF、AAC、H.264、AMR)。 强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及 Eclipse IDE 的开发插件。Eclipse 是个集成开发环境。2.2 开发工具概述Android Studio 是一个 Android 集成开发工具,基于 IntelliJ IDEA。类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。2013 年 5 月 16 日,在 I/O 大会上,谷歌推出新的 Android 开发环境Android Studio,并对开发者控制台进行了改进,增加了五个新的功能。Android Studio 是谷歌推出了新的 Android 开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。谷歌对开发者控制台进行了改进,增加了五个新的功能,包括优化小贴士、应用翻译服务、推荐跟踪、营收曲线图、用版测试和阶段性展示。1)优化小贴士:在主体中打开你的应用,点击小贴士,会得到这样的建议:为你的应用开发平板电脑版本。2)应用翻译服务:允许开发者直接在开发主体中获得专业的翻译。上传你的需求,选择翻译,其会显示翻译方和价格,并在一周内发回译本。3)推荐跟踪:允许开发者找出最有效的广告4)营收曲线图:向开发者展示其应用营收,以国家进行划分5)试用版测试和阶段性展示:开发者可以对应用进行测试,然后向测试用户推出,测试结果不会对外公布。当一个版本的测试结束,开发者可以向特定比例用户推出。Android Studio 这款开发工具被首次公布,这也是为了方便开发者基于Android 开发。首先解决的一个问题是多分辨率。Android 设备拥有大量不同尺寸的屏幕和分辨率,根据新的 Studio,开发者可以很方便的调整在各个分辨率设备上的应用。同时 Studio 还解决语言问题,多语言版本(但是没有中文版本)、支持翻译都让开发者更适应全球开发环境。Studio 还提供收入记录功能。最大的改变在于 Beta 测试的功能。Studio 提供了 Beta Testing,可以让开发者很方便试运行。2015 年 5 月 29 日,在谷歌 I/O 开发者大会上,谷歌发布 AndroidStudio 1.3版,支持 C+编辑和查错功能。Android Studio 1.3 版开发码代码变得更加容易,速度提升,而且支持 C+编辑和查错功能。2.3 数据库系统 在 Android 系统开发中,存储数据时使用 Android 自带的数据库SQLite 数据库。SQLite 是轻量级的、嵌入式的、关系型数据库,目前已经在iPhone、Android 等手机系统中使用,SQLite 可移植性好,很容易使用,很小,高效而且可靠。SQLite 嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个 RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。 本数据库支持功能如下: (1)自动建表,支持属性来自继承类:可根据注解自动完成建表,并且对于继承类中的注解字段也支持自动建表。 (2)自动支持增删改,增改支持对象化操作:增删改是数据库操作的最基本单元,不用重复写这些增删改的代码,并且添加和更新支持类似于 hibernate 中的对象化操作。 (3)查询方式灵活:支持 android 框架提供的方式,也支持原生 sql 方式。 (4)查询结果对象化:对于查询结果可自动包装为实体对象,类似于hibernate 框架。(5)查询结果灵活:查询结果支持对象化,也支持结果为List形式,这个方法在实际项目中很实用,且效率更好些。2.4 所用知识点(1)RecyclerView/ SwipeRefreshLayout该控件用于在有限的窗口中展示大量数据集,RecyclerView 架构提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator 实现令人瞠目的效果。SwipeRefreshLayout 顾名思义此组件就是一个布局,只不过只能有一个直接子View。在 SwipeRef- reshLayout 中有一个接口,通过此接口可以监听滑动手势,使用此组件最重要的是实现其中的 onRefresh()方法,在这个方法中实现加载数据。(2)ViewPager/TabLayout/Gson这个类可以让用户左右切换当前的 view,ViewPager 继承自 ViewGroup,也就是 ViewPager 是一个容器类,可以包含其他的 View 类。TabLayout 提供了一个水平的布局用来展示 Tabs。Gson 是 Google 开发的 Java API,用于转换Java 对象和 Json 对象,是把前后台传输的 JSON 字符串数据,解析成对象的形式,方便引用。(3)VolleyVolley 是用于请求网络数据的第三方框架,可以有效的解决图片缓存和请求调度等问题。Volley 的优点有自动调度网络请求、多个并发的网络连接、可以取消单个或多个请求、便于正确的更新 UI 和获得数据等等。(4)获取网络数据,HTTP 联网下载数据,Json 解析数据,HTTP 是 web 浏览器和服务用来交换信息的一种 Internet 应用协议,该协议允许用户使用一个客户端程序通过 URL 在 web 服务器上检索文本、图像、声音等信息。JSON,全称是 JavaScript Object Notation,是一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。3、系统实现3.1 界面实现界面是实现 App 的第一步,也是 App 比较重要的组成,界面实现与用户的交互。本系统主要包括五个界面,分别是“我的”、“糗事”、“直播”、“小纸条”、“糗友圈”,“糗事”界面有分为“专享”、“视频”、“纯文”、“纯图”、“精华”和“穿越”六个子页面,“糗友圈”界面分为“隔壁”、“已粉”、“视频”和“话题”四个子界面。系统框架图如图 3-1。主界面我的 糗事 直播 小纸条 糗友圈专享视频频纯文纯图穿越精华隔壁已粉话题视频图 3-1 系统框架图3.1.1 主界面布局主界面有五个子页面分别是“我的”、“糗事”、“直播”、“小纸条”、“糗友圈”。完成这个页面使用的 Android 知识点有LinearLayout、RadioGroup、RadioButton、FrameLayout、selector 和Fragment,每一个子页面均使用 Fragment 实现,Fragment 是轻量级的Activity,适合于页面的跳转;RadioButton 单选按钮的作用是实现主页面五个 Fragment 页面的跳转;FrameLayout 是盛放子页面 Fragment 的容器;为了区分子页面是否被选中所以 RadioButton 使用了选择器 selector,界面效果如图 3-1。图 3-1 主页面布局效果图3.1.2 “糗事”和“糗友圈”页面布局这两个页面均使用 Fragment 实现,且布局原理是相同的。页面的布局是线性布局的嵌套使用,页面滑动效果使用的是滑动视图 ViewPager,标题栏是自定义的其中嵌套了 Tablayout,使用 TabLayout 是因为 TabLayout和 ViewPager 可以方便的实现联动,界面效果如图 3-2。图 3-2 “糗事”和“糗友圈”页面布局效果图3.1.3 “直播”页面布局直播页面的效果是界面顶端有一个标题栏,标题栏的下方有一个轮播图,在往下就是各个直播间,直播间的展示效果是两列若干行。基于这种界面效果我们采用的实现方法把界面分成两部分,一部分是标题,采用自定义标题栏实现,较简单不多赘述;另一部分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论