Android跑步应用开发毕业设计.doc
《Android跑步应用开发毕业设计.doc》由会员分享,可在线阅读,更多相关《Android跑步应用开发毕业设计.doc(34页珍藏版)》请在咨信网上搜索。
1、目录1 绪论11.1 研究背景与意义11.2 国内外研究现状11.3 研究内容与目标22 理论技术基础22.1 理论基础22.1.1. 系统内核22.1.2. 后缀简介22.1.3. 硬件抽像层32.1.4. 中介软件42.1.5. 安全权限机制42.1.6. 百度地图定位52.2 技术基础53 系统分析与设计63.1 需求分析63.1.1. 编写目的63.1.2. 术语定义73.2 总体设计73.2.1. 系统功能73.2.2. 软件结构83.2.3. 程序流程图83.3 详细设计93.3.1. 总体界面设计93.3.2. 模块功能设计104 系统实现114.1 主要界面114.2 代码结构
2、134.3 开发过程遇到的问题205 总结21参考文献22附录24摘要现在几乎每个人都有移动设备,而随着科技的进步,移动设备已经不仅仅是通讯工具,也成为了人们手中的玩物,甚至成为一些其他的工具,而各种各样的移动应用出现在市场上,人们对移动应用的需求也渐渐增大。随着人们对健康生活方式的追求,他们对一些健康类应用的需求也越来越大。本论文从学习、研究和探讨的角度,介绍了Android开发的现状以及Android开发未来的发展趋势,然后以本系统为例从需求分析、应用技术、设计架构思想、系统详细模块实现上分别叙述了它的各种技术原理及实现方案,进而简单的阐明了Android开发以及百度地图API使用的相关技
3、术。然后以本系统为例从需求分析、应用技术、设计架构思想、数据库设计、系统详细模块实现上分别叙述了它的各种技术原理及实现方案,进而简单的阐明了开发一个基于Android的健康类应用开发的相关技术。关键字:Android开发、百度地图APIABSTRACTNow almost everyone has a mobile device, and with the progress of science and technology, the mobile device is not just a communication tool, has also become a plaything in t
4、he hands of the people, even as some of the other tools, and a variety of mobile applications appear on the market, people on the move should use demand also gradually increase. In the pursuit of a healthy lifestyle, their demand for some health class application is also more and more big.In this pa
5、per, from the study, research and on the point of view, the future development trend of Android development and the development of Android, and then take this system as the example with module from requirement analysis, application technology, design thought, system realization principle of various
6、techniques are described and its implementation scheme, and then simply explained Android development and related technology Baidu map using API. And then take this system as the example with module from requirement analysis, application technology, design architecture, database design, system reali
7、zation principle of various techniques are described and its implementation scheme, and then simply illustrates the development of a correlation based techniques and health development of Android application.KeyWords:Android Develope 、Baidu Map API1 绪论1.1 研究背景与意义Android曾经是一家创立于旧金山的公司的名字,该公司于2005年8月份
8、被Google收购,并从此踏上了飞速发展的道路。经过这几年的发展,它已经发展成了一个平台、一个生态体系。现在Android在移动领域已经得到了广泛的应用。根据Google于2011年6月份公布的数字,每天激活的Android设备高达50万台,今天,施密特再次更新了这一数据现在,每天被激活的Android设备数量达到了150万份。谷歌安卓系统负责人桑德尔湃柴(Sundar Pichai)2013年09月宣布,采用安卓移动操作系统设备的激活量已经超过10亿台。在全球销售的智能手机中,有四分之三采用安卓操作系统,并且有越来越多的平板电脑采用这个操作系统。 相比于Symbian的日落西山,以及苹果的封
9、闭、Windows Phone的前途未卜,Android无疑代表了当前行业发展的主流趋势:开放平台取代了封闭平台。让参与者均能通过自己的努力而获益。从2008年9月公布1.0版本以来,经过近几年的跨越式发展,现在Android已经发展到了4.4版本。2013年9月4日凌晨,谷歌对外公布了Android新版本Android 4.4KitKat(奇巧巧克力),并且于2013年11月01日正式发布,新的4.4系统更加整合了自家服务,力求防止安卓系统继续碎片化、分散化。目前市场上占主流的并不是4.4版本,当然,相信随着时间的推移,4.4及后续版本会得到越来越多的设备的支持。1.2 国内外研究现状目前国
10、内的Android开发还是主要以应用开发为主,主要分成3类:为企业开发应用、开发通用应用(放到Android Market或者其他App Market销售)以及游戏开发(放到Android Market或者其他App Market销售)。第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。而理论上的通过付费下载的形式
11、来盈利的,现在国内鲜见成功者。第三类开发者,目前和第二类开发者类似。北京时间4月15日晚间消息,移动应用分析公司App Annie今日发布报告称,今年第一季度,谷歌Google Play应用商店在下载量方面依旧主导全球市场。报告称,第一季度Google Play全球应用下载量较App Store高出45%,这主要得益于新兴市场的推动,如俄罗斯、巴西、墨西哥和土耳其,其发展速度令无数人惊叹,而Android产品占中国整体智能手机销量的更是令其他系统无法企及,这些数字意味着庞大的市场,自然能让应用开发商欲罢不能,但Android碎片化的多版本问题正愈演愈烈。两相比较间,不少开发商陷入了两难的境地。
12、在Android开发者官方网站上,不少开发者亦吐露出“抓狂”的情绪。由于本质为开源,Android系统发展至今,几乎完全脱离了谷歌的控制,其花费巨大开发的新版本系统往往在手机厂商需要为新品添加噱头的时候才会用上。1.3 研究内容与目标根据如今安卓设备的普及,以及现如今人们越发的重视身体的健康,开始在闲暇的时间开展一些体育活动,一些与健康相关的安卓应用被人们需要,也更显现出它们的实用性。而我开发的则是一款基于安卓的跑步软件。它可以实现利用GPS以及百度地图API实现记录用户跑步路径以及跑步距离的功能。2 理论技术基础2.1 理论基础2.1.1. 系统内核Android 是运行于Linux ker
13、nel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。Bionic/Libc/Kernel/ 并非标准的Kernel heade
14、r files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。2.1.2. 后缀简介APK是安卓应用的后缀
15、,是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。APK文件结构一个APK文件结构为:1. META-IN
16、F (注:Jar文件中常可以看到);2. res (注:存放资源文件的目录) ;3. AndroidManifest.xml (注:程序全局配置文件) ;4. classes.dex (注:Dalvik字节码);5. resources.arsc (注:编译后的二进制资源文件)。总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接执行安装,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式
17、。在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。2.1.3. 硬件抽像层Android 的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux
18、kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 Kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。HAL stub 是一种代理人(Proxy)的概念,Stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(Operations),并由 Android runtime 向 HAL 取得 Stub 的Operations,再 Callback 这些操作函数。HAL 里包含了许多的 Stub(代理人)。Runtime 只要说明“类型”,即 Module I
19、D,就可以取得操作函数。2.1.4. 中介软件操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。Android采用OpenCORE作为基础多媒体框架。Open CORE可分7大块:PVPlayer、PVAuthor、Co
20、dec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是雏形的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,Skia 也是Google Chrome 的图形引擎。Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用
21、数据库。用户可通过ContentResolver类(Column)取得共用数据库。Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。Dalvik虚拟机可以有多个实例(Instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。2.1.
22、5. 安全权限机制Android本身是一个权限分立的操作系统。在这类操作系统中,每个应用都以唯一的一个系统识别身份运行(Linux用户ID与群组ID)。系统的各部分也分别使用各自独立的识别方式。Linux就是这样将应用与应用,应用与系统隔离开。系统更多的安全功能通过权限机制提供。权限可以限制某个特定进程的特定操作,也可以限制每个URI权限对特定数据段的访问。Android安全架构的核心设计思想是,在默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的操作。这其中包括读写用户隐私数据(联系人或电子邮件),读写其他应用文件,访问网络或阻止设备待机等。安装应用时,在检查程序签名提及的权
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 跑步 应用 开发 毕业设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。