收藏 分享(赏)

毕业设计(论文)-基于Android指南针的设计与实现(全套源程序代码).docx

上传人:QQ153893706 文档编号:2293009 上传时间:2018-09-09 格式:DOCX 页数:78 大小:1.11MB
下载 相关 举报
毕业设计(论文)-基于Android指南针的设计与实现(全套源程序代码).docx_第1页
第1页 / 共78页
毕业设计(论文)-基于Android指南针的设计与实现(全套源程序代码).docx_第2页
第2页 / 共78页
毕业设计(论文)-基于Android指南针的设计与实现(全套源程序代码).docx_第3页
第3页 / 共78页
毕业设计(论文)-基于Android指南针的设计与实现(全套源程序代码).docx_第4页
第4页 / 共78页
毕业设计(论文)-基于Android指南针的设计与实现(全套源程序代码).docx_第5页
第5页 / 共78页
点击查看更多>>
资源描述

1、1太 原 理 工 大 学本 科 毕 业 论 文 (设 计 )题 目: 基于 Android 指南针的设计与实现学 院: 软件学院专业班级: 班学 号: 学生姓名: 指导教师姓名: 指导教师职称: 2015 年 5 月 27 日2太 原 理 工 大 学毕 业 设 计 ( 论 文 ) 任 务 书第 1 页毕业设计(论文)题目:基于 Android 的指南针的设计与实现毕业设计(论文)要求及原始数据(资料):1综述国内外 Android 技术研究现状;2深入了解基于 Android 的指南针的相关技术;3熟练掌握 Android 技术的应用与分析,训练编写基于 Android 的指南针 程序的能力;

2、4设计并实现基于 Android 的指南针的各功能模块;5深入分析基于 Android 的指南针的关键技术与编写语言;6训练检索文献资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。3第 2 页毕业设计(论文)主要内容:1综述 Android 技术在指南针中的应用;2了解基于 Android 的指南针的相关技术;3熟悉基于 Android 的指南针的开发环境; 4设计基于 Android 的指南针的各功能模块;5. 深入分析基于 Android 的指南针的关键技术与编写语言的设计流程;6熟练掌握基于 Android 的指南针的各功能模块的编写;7设计与实现针对指南针某一功能模块的程

3、序。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。4第 3 页主要参考文献(资料):1 AndroidApplicationDevelopment,1stEditionRickRogers,JohnLombardoOReillyMedia,Inc.May26,20092 Googleandroid 开发入门与实战靳岩,姚尚朗人民邮电出版社 .2009.63 iPhone 开发基础教程 DaveMark,JeffLaMarche.人民邮电出版社.2009.54 android 游戏开发实

4、战宝典吴亚峰,苏亚光.人民邮电出版社.2010.75 JohnR.E.ComponentFrameWorkandPatterns.ACMSIGSOFYSymposiumonsoftareReusability,19976 杨芙清.软件复用及其相关技术.计算机世界 3 版,1999,37 JohnsonR.E,FooterB.Design Reusable Class.Journal of Oriented-object Programming19888 何昭,李传湘,崔巍荃于面向对象框架的软件开发方法.计算机工程,2002,27(4)9 王成翅,姚琳.基于可重用框架的软件开发模式及其应用.计算

5、机应用研究10 JAVA2 实用教程(第二版.耿祥义著.清华大学出版社.2003.1211 Rosemary Stockdale. Managing customer relationships in theself- service enironment of e- tourismJ.Journal of VacationMarketing. Jul 2007;13:205- 21912 L.Pearce.Young budget travelers: Backpackers inAustralia J. Annals of Tourism Research.1995 Vo1.22 ,No

6、4:819-843.13 张海藩. 软件工程导论 (第 4 版)J. 北京:清华大学出版社,2006:34-38.14 韩超. Android 经典应用程序开发J . 人力资源出版社, 2011:5-18.15 林城. Android 2.3 应用开发实战J . 机械工业出版社, 2011:17-321.5专业班级 软件 1104 班 学生要求设计(论文)工作起止日期 2015 年 3 月 23 日2015 年 7 月 3 日指导教师签字 日期 2015 年 3 月 23日教研室主任审查签字 日期系主任批准签字 日期6基于 Android 的指南针的设计与实现摘 要全套源程序代码加 15389

7、3706手机的迅速发展和手机上的指南针利用的日益增长,指南针利用功效开辟成为移动开发的一个热门话题。基于智能手机操作系统的硬件和软件的开放性和扩展性强等特色,开发基于 Android 的指南针各种潜在的应用显得越来越必要。现在社会无线网络发展迅猛,手机发展快速,已经由 90 年代的模拟信号发展到现在的智能时代,4G 时代已到来。在此基础上,嵌入式的移动终端操作系统相继出现,如苹果公司的 IOS,微软的 WP7/8,Google 的 Android,黑莓的 BlackBerry。Android 系统在嵌入式移动终端系统比较常见。Android 平台是开源的手机操作系统,由 Google 推出,基

8、于 Linux2.6内核。Android 已经成为移动领域的研究热点。然而随着 4G 网络的高速发展,智能手机的普及越来越广泛,在社交,出行,旅游等生活等方方面面需求也日益增多。本文首先论述了指南针技术及其应用的发展趋势,还介绍了目前市面上的几个手机操作系统,对此次开发所使用的安卓手机系统进行了简单的分析,介绍了安卓手机平台的特色,平台的功能特点和大致体系结构,并对开发所需的工作作了较为仔细的介绍,同时介绍了本系统所需要的技术理论知识。然后对基于 Android 平台指南针的设计与实现进行了详细的需求分析与设计,包括系统需求分析、功能分析、用户界面需求分析。并且对系统进行了模块设计。模块设计时

9、,首先对系统整体进行结构分析,分清层次,然后分别对指南针软件的每个模块都进行详细的设计,包括类的设计及用户界面的设计。之后,结合安卓应用中 GPS 定位的理论和算法,设计和实现 Android 指南针程序。该系统的主要功能包括本机定位,并通过指南针指针指向能够识别方向。 在本文中,把 GPS技术与新兴的智能移动终端平台整合,实现手机指南针功能。可以让人们在想要了解自7己的位置和方向的时候能够通过本程序确定自己的方位和以及前进的方向。最后总结本文所做的工作进行,提出了对系统的不足和今后的改善的愿望。关键词:Android;Java;指南针;GPS;定位A Design and implement

10、ation of Android-based compassAbstractThe rapid development of mobile phones and the growing phone use compass, compass use effect open mobile development becomes a hot topic. Based smartphone operating system, hardware and software openness and scalability and other characteristics, the development

11、 of a variety of potential applications based on Android compass becomes more and more necessary. Now social wireless network is developing rapidly, the rapid development of mobile phones, has been developed by the analog signals the 1990s to the present era of intelligent, 4G era has come. On this

12、basis, the embedded mobile terminal operating system have emerged, such as Apples IOS, Microsofts WP7 / 8, Googles Android, BlackBerry BlackBerry. Android system in the embedded mobile terminal system is relatively common. Android platform is an open source mobile operating system launched by Google

13、, 8based Linux2.6 kernel. Android has become a hot topic in the mobile space. However, with the rapid development of 4G networks, more and more widespread popularity of smart phones, social, travel, tourism and other aspects of life needs are increasing.This paper discusses the development trend of

14、the compass technology and its applications, but also describes the current number of mobile phone operating system market, Android phone system used for the development of a simple analysis, introduces the characteristics of Android mobile platform, Features and roughly architecture platform, and m

15、ade for the work needed to develop a more detailed description, technical theory also introduced this system needs. And then design and implement based on the Android platform, compass on a detailed needs analysis and design, including system requirements analysis, functional analysis, user interfac

16、e requirements analysis. And the modular design of the system. Modular design, the first structural analysis of the system as a whole, to distinguish between levels and compass software separately for each module are detailed design, including class design and user interface design. After that, the

17、combination of theory and algorithms Android app in GPS positioning, design and implementation of Android Compass program. The main features of the system include the native location, and can be identified by a pointer compass direction. In this paper, the GPS technology and the emerging smart mobil

18、e terminal platform integration, to achieve the phone compass. You can let people in when you want to understand their position and direction can orient yourself and as well as the way forward through this process. Finally, this paper summarizes the work carried out and presented to the lack of impr

19、ovement in the systems future aspirations.目 录摘 要 5Abstract61 绪论 11.1 Android 智能系统的发展现状 .11.2 指南针技术背景介绍 21.3 Android 平台与其他平台的比较 .21.4 本文的主要工作 31.5 论文的组织结构 32 Android 平台相关技术介绍 .52.1 Android 的新特征 .52.2 Android 架构特征 .62.2.1 Android 系统架构 .62.2.2 Android 组件设计模型 .72.3 Android 应用程序的生命周期 .82.4 Android 运行环境分析

20、 .112.5 MVC 框架技术 .113 系统的需求分析 133.1 系统的需求分析 133.1.1 功能需求分析 133. 1. 2 GPS 定位模块需求分析 .133. 1. 3 指南针模块需求分析 143.2 基于 Android 平台的指南针的功能模块设计 144 基于 Android 指南针系统实现 .164.1 开发前系统环境的配置及工具的安装 164.2 Android 应用程序构成 .174.3 构建 Android 应用程序用户界面 184.4 指南针主程序实现 194.5 指南针界面的 Layout 布局文件 204.5.1 几种 Layout 布局方式 .204.5.2

21、 系统界面和指南针界面的实现 214.6 指南针各个模块的实现 264. 6. 1 定位模块的实现 .264. 6. 2 指南针指针的实现 .274. 6. 3 指南针整体模块的搭建与实现 294.7 系统的测试 414.8 系统的安装 434.9 本章小结 43结束语 44参考文献 45致 谢 46外文原文 471 绪论随着我国信息化产业与 3G 网络的高速发展,智能手机越来越普及,,手机的传输速度也变得越来越快,Google 为开发者提供了各种的 API,方便开发者开发应用满足人们的日常需求,现在的智能手机已不仅仅局限于打电话,多种多样手机应用已经走进了人们的生活。1.1 Android

22、智能系统的发展现状手机的广泛生产和使用,进一步提升了手机应用的价值,开发新的功能,已成为手机发展的一个热门话题,开放式手机的出现使智能手机有了更飞速的发展,真正意义上的开放,不只是开发工具,而是底层的源代码的完全开放,Google 于 2007 年 11 月 5 日宣布推出一款全新的智能手机操作系统 Android。它是第一个真正免费开放和完整的移动软件平台。Andorid 平台是基于 Linux 内核的,他的源码完全开放并且具有很好的可移植性和非常完善的网络支持,并能根据需要自由裁剪和定制,灵活度高。基于Android 的应用程序 发拥有很大的自由度,其程序也具有很好的扩展性。与Window

23、sMobile、sybian 等厂商不同,Android 操作系统免费向开发人员提供,这样可节省近三成成本。Android 平台具有的五大优势总结如下:非常棒的开放性,许可任何厂商的加盟,这个优点可以让它拥有更多的开发者,跟着用户的增加和应用的逐渐丰富,Android 平台也将很快走向成熟。没有了运营商的束缚,让手机加倍的贴近互联网。可移植性和软件兼容性更好,拓宽了软硬件的选择规模。给第三方开辟商供给了一个非常宽泛、自由的开辟情况,有利于应用的发展。和 google 应用无缝的结合,充分发挥了网络资源的作用。作为一款新型的移动平台,Android 还有很大的完善控件,现在它在手机运营商、手机厂

24、商、 发者和消费者的地方得到了大力支持。2008 年 9 月 22 日,美国运营商 T-MobileuSA 在纽约正式发布第一款 Google 手机一 T-MobileOl。该款手机为宏达制造,是世界上第一部使用 Android 操作系统的手机,它支持 WCDMA HSPA 网络,理论下载速率为 7.2MbPs,并支持 WiFi。可以看出 Android 平台具有非常大的市场潜力,应用开发前景十分广阔。1.2 指南针技术背景介绍通信技术的不断变更,使 GPS 系统将成为手机的标准配置,手机不只具有通信功能,还可以当作一个 GPS 定位系统。从 GPS 技术诞生之日起,改如何促进其大规模商业化使

25、用就一直是其产业链中各个厂商努力的焦点;而随着智能手机的开拓应用,众厂商的焦点就开始跟着转移。智能手机的出现对于地图导航软件厂商来说,是一个非常大的市场,对手机商家来说 ,需要不断开发新需求、找寻更大潜力的细分市场也是十分重要的。如今的手机市场增值不少,可供继续挖掘的空间己经不多,彩信、彩铃等业务都己经十分广泛的应用,而手机导航如同雨后春舆一般快速发展起来。GPS 领域大厂 SIRF 已经收到了 Google android 手机平台的 SDK 软件开发包,会立即开始 Android 手机 GPS 功能模块的开发。2007 年,中国智能手机市场获得长足发展。作为一个刚刚兴起的市场, 智能手机正

26、以惊人的速度成长。2006 年,中国智能手机销售量为 10.5 万台,而 2007 年的前 9 个月中国市场总共销售了 29.4 万台。随着用户需求的不断提升,技术的不断演进,手机作为一个方便快捷的移动载体,正在不断融入到生活的方方面面。GPS 导航功能是继拍照、音乐以后有望再度激发新一轮手机更新换代高潮的立异功效,凭仗功效实用性强、切近用户需求等光鲜特点,GPS 手机正在成为市场新宠。一方面,GPS 手机产业成熟度正快速提升。另一方面,带 GPS 功效的手机终端种类逐步丰硕,终端瓶颈题目将获得减缓。手机成长的将来是多样化的,低端通话功效的手机遇连续保存,同时具备更多功效的手机遇很快成长。手机

27、平台上的 GPS 应用将不断得到开发。但就当前看来,手机 GPS 功能主要还是应用在个人的定位、导航方面,其它 GPS 应用的发展仍是跟不上手机发展的总体脚步,随着生产成本的下降、硬件功能的增强,手机 GPS 将会有更为辽阔的应用领域。1.3 Android 平台与其他平台的比较提到智能手机的平台,不得不提到雄霸手机市场十年有余的 Symbian 平台,2000年以来 Symbian 系统一直占据智能系统市场的绝对份额,是智能领域的先驱者。该系统对于全球绝大多数学习者体验都是系统简单,容易操纵。好处有第三方软件多,操作与非智能手机相同,善于被绝大多数学习者学习。对于内存的要求低,很小的内存可以

28、让手机运行的非常流畅,功耗低。缺点是 Symbian 系统的各个版本之间的应用不兼容;只能在诺基亚上使用;证书签名较为繁琐等。WindowsPhone7(微软),优点是硬件要求低,虚拟键盘设计简洁方便,流畅的全页面浏览,与绝大多数用户使用的 Windows 功能相似,上手快。缺点对语音导航支持不够,不支持 USB 大容量存储,重力感应不能关闭,不能像 Android 系统手机一样越狱,刷机等。对于 Blackberry(加拿大的黑莓),优点是通话质量好,信号强;外观漂亮,有良好的学习者体验;占用内存小,不需要强大的硬件支持。缺点是网络连接不稳定,软件应用相对较少,电脑向手机传输方式较为复杂。对

29、于苹果公司的 iphone,优点是触摸屏操作相当流畅,安全性较高,网络运行流畅。缺点是系统封闭,源代码不公开,蓝牙只支持苹果对苹果,不支持其他机型等。对于 GoogleAndroid,让众人接受的优点是全屏触控、操作简单易上手、软件免费、刷机方便、上网功能流畅,已经完全融入 Web 应用。Android 操作系统是开源的,具有开放性,应用程序平等,应用程序间无界限,能够快速方便的进行应用程序开发。Android 在中国也非常流行,中国的各大运营商都加入和 Android 的开放联盟当中,并且都在研发出各式各样的 Android 手机,因此 Android 在中国的前景还是相当好的。1.4 本文

30、的主要工作本文课题题目是基于 Android 平台的指南针的设计与实现。主要研究分析了最近发展迅速的智能手机系统 Android 系统,比较了当今几个主流的智能手机系统,阐述了 Android 的一些优越性。并对 Android 平台进行了概述,分析了 android 的一些主要理论技术。还分析了当今的 GPS 技术的现状和 AndroidGPS 的一些理论技术。设计了基于android 的 GPS 定位和指南针程序。本文的主要工作包括:本文主要在 Eclipse 的开发环境下进行开发,通过 AndroidSDK 与 JDK 的相关 API进行代码的编写与实现。本系统包括了通过手机能够看到本机

31、所在地的经玮度、地址街道等。课题目标是在 Android 手机上能够观察到自己的方位信息和位置信息。通过手机能够辨别方向。并且该系统在 Android 模拟器上与真机上都可以运行,并且可以达到预期的效果。1.5 论文的组织结构本文共分五章,内容安排如下:第一章引言,介绍了 Android 智能手机系统的发展现状和前景,阐述了 Android 平台的优越性。并介绍了当今的指南针 GPS 技术的发展和应用。此外还介绍了本课题的课题任务和课题的意义。第二章对 Android 平台进行了简单的概述。全面分析了进行本课题研究所需要的Android 和 GPS 以及指南针相关的理论知识基础。第三章对基于

32、Android 的指南针软件的开发进行了需求分析。分析了用户对 GPS定位和指南针程序的应用需求。还对整个软件进行了划分成模块的形式, 对各个模块进行分析设计,并将其实现。第四章对开发工作进行了开发前的准备工作,保证一切工具都能比较完善,之后进行 GPS 测试仪器程序和指南针程序的编写并实现。并进行了最后的测试工作。第五章结束语,对本文工作进行全面总结,给出本文所取得的成果,指出存在的不足和改进方向。2 Android 平台相关技术介绍本章主要介绍 Android 手机平台的特点、应用程序的开发环境、应用程序的构成以及 android 的类库和开发本课题所需的相关理论知识。2.1 Androi

33、d 的新特征开放性:Android 是被众多开发者公认的开放平台,它的开放性主要体现在上层的应用程序或者学习者界面的开放性,底层的操作系统的开放性,源代码的开放性,使得其能够吸引更多的开发者来进行 Android 开发而不存在任何障碍。快速方便的应用程序开发:Android 为开发人员提供了大量的使用库和工具,使得开发人员可以快速地创建自己的应用程序。例如,在其他平台的手机上要开发基于谷歌地图或百度地图的应用是十分困难的,但是在 Android 平台把谷歌或百度地图集成进来,开发人员只需要从官网下载谷歌或百度地图的 SDK,并且通过简单的几行代码就可以快速开发出基于地图的不同应用。Androi

34、d 系统是工作于智能手机之上的操作系统处处体现了与手机相关的特性。由于手机硬件配置的关系 Android 系统与 PC 机上的操作系统有着很大的差异。只有充分了解 Android 系统特性才能开发出适合手机运用的软件。以下为 Android SDK2.2 的主要特性 (1)可重用和可替换组件的程序应用框架(2)针对移动设备优化过的 Dalvik 虚拟机(3)集成了基于开源 Webkit 引擎的网页浏览器(4)经过优化过的自定义 2D 图形库和基于 OpenGL ES 1.0 库可选硬件加(5)SQLite 结构化的数据存储数据库(6)支持常规的音频视频多媒体格式,如MPEG4、H.64、MP3

35、、AAC、AMR、JPG、PNG、GIF GSM 电话(硬件决定) (7)蓝牙、GPRS-EDGE、3G 和 Wifi 无线网络(8)相机、GPS 全球定位、导航和感应加速器(9)丰富的开发环境包含设备模拟器、工具、调试器、内存和性能分析工具,以及 Eclipse 集成开发环境插件2.2 Android 架构特征2.2.1 Android 系统架构android 是由 5 部分组成,分别是:LinuxKernel、AndroidRuntime、Libraries、ApplicationFramework、Applications。第二部分将详细介绍这 5 个部分。下面自底向上分析各层。1Lin

36、uxKernel(Linux 内核层)Linux 内核层是在整个 Android 系统架构的最底层,它主要起的核心服务的作用,主要负责对 Android 系统的进程、内存、驱动管理,安全模块也在这一层中得到了体现。内核层也为 Android 系统与硬件之间的交互搭建了桥梁。2Android 运行时库Linux 内核层的上层即为 Android 运行时库层,由图中可以看出在这一层中主要包含两大主要部分,分别是 CoreLibraries(核心库层)与 Dalvik Virtual Machine(Dalvik 虚拟机)。对于核心库来说,主要提供了 Java 语言 API 中的大多数功能,同时包含

37、了 Android 常用的一些核心 API,如 android.os、android.media 等。对于 Dalvik 虚拟机这一模块,Android 系统不同于 J2me,Android 应用程序都会有一个独立的进程,即每个 Android 程序都有一个独立的 Dalvik 虚拟机实例,Dalvik 运行的主要机制是依靠转换工具 dx 将 Java 字节码转换为 dex 格式。3Libraries应用程序框架是贴近于应用程序的软件服务,而更底层的则是 Androidr 的函数库,这一部分是应用程序框架的支撑。WebKit:最新的 Web 浏览器引擎,支持 Android 浏览器与一个可嵌入

38、的 Web 服务器。SGL:底层的 2D 图形渲染引擎,为开发者提供开发 2D 提供服务。SSL:主要负责安全通信,在 Android 上通信过程中实现握手。OpenGLES:相对于 SGL 提供 2D 图形渲染,此层的主要功能是根据 OenGLES1.0API的标准实现 3D 绘图函数库。Libc:Android 并没有采用 glibc 作为 C 库,而是采用了 Google 自己开发的BionicLib。它从 BSD 继承了标准的 C 系统函数库,是专门为基于嵌入式 Linux 设备定制的。4ApplicationFramework(应用程序框架层)Android 应用程序框架层处于系统运

39、行库层的上层,这一层是我们从事 Android开发基础,比较核心的一些应用程序是通过这一层来实现的,应用程序框架包含了视图系统、活动管理器、通知管理器、内容提供器、窗口管理器、位置管理器、资源管理器、电话管理器、包管理器与硬件服务等。5Applications(应用程序层)这一层在整个系统架构中处理最上层,这一层的开发需要应用程序框架层的 API提供支持,这一层主要是用 Java 语言编写的,开发人员可以在这一层进行各式各样的应用程序开发,并发布应用。2.2.2 Android 组件设计模型Android 的组件设计模型,是 Android 的程序开发以及理解 Android 的安全模型的基础

40、。Android 的应用程序,在官方文档定义中,是指 APK 为后缀文件所包含的代码逻辑被视为一个应用。Android 应用由若干组件构成,构成 Android 应用的四大组件是:Activity,Services,Contentproviders,Broadcastreceivers。一个问题是,组件和普通的 AndroidJAVA 对象有什么区别?首先,组件必须在 Android 应用的配置文件中定义,由系统管理的调度,具有独特的生命状态周期,其次,组件是 Android应用安全管理的最小粒度的单元。Android 组件的进程运行环境(1)Android 是一种多学习者的 Linux 操作

41、系统,每个应用使用不同的学习者 ID进行运行。Android 对应用的数据文件进行 Linux 操作层次的权限保护,赋予并仅仅赋予程序学习者的 ID 以访问权限,使用其他学习者 ID 运行的程序无法越权访问程序所保护的数据。(2)每个进程有独立的 JAVA 虚拟机器,不同的应用隔离在独立的 JAVA 虚拟机器中。(3)缺省的情形下每个应用运行在独立的进程中,当任意一个组件需要运行,Android 负责启动应用进程。当进程中所有的应用组件都停止运行,则 Android 负责停止应用进程,释放资源。(4)如果两个应用需要紧密耦合的共享应用的数据,需要将两个应用安排在同一个应用进程运行,此时,要求两

42、个应用具有相同的签名。2.3 Android 应用程序的生命周期Activity,Service,Content Provider,Broad Cast Receiver 是 Android 应用程序常用的四大组件,而开发者在平时的软件开发中最常用到的生命周期是 Activity与 Service,下面分别介绍下 Activity 与 Service 的生命周期:1.Android 中 Activity 的生命周期Android 是围绕移动应用的唯一需求进行设计。在特定情况下,Android 可以识别出移动设备上受限制的资源(如内存和电量),以及提供相应的机制保护这些资源。这些机制在 Andr

43、oid 的 Activity 生命周期体现得很明显,定义了 Activity 从创建到销毁的过程状态和事件。你对那些事件的 Activity 监视器和作用是通过初始化每个事件对应的 Activity类中重写后的方法:onCreate 方法是在 Activity 第一次被创建的时候被调用。在这个方法中,你可以正常创建你的视图和打开 Activity 需要用到的所有数据文件,以及初始化你的Activity。当调用 onCreate 方法时,Android 框架在 Activity 运行之前会通过创建一个 Bundle 对象来保存 Activity 的状态。onStart 方法在 Activity

44、显示在屏幕之前被调用。一次 onStart 调用完成时,如果你的 Activity 变成前端 Activity 显示在屏幕上,控制权将交给 onResume 方法,onResume 将等待被调用。如果你的 Activity 由于某些原因不能变成前端 Activity,控制权将交给 onStop 方法,onStop 将等待被调用。onResume 方法是在调用 onStart 方法之后使得 Activity 变成前端 Activity 时可以调用。在这个状态下,Activity 是正在运行地,并且与学习者进行交互。Activity接收键盘和触摸的输入,以及在屏幕上显示 Activity 的学习者

45、界面。onResume 也可以在当前 Activity 失去前端焦点,且前端被另外一个 Activity 占用时调用,占据前端的 Activity 最终会在你的 Activity 调用 onResume 后失去前端焦点,同时你的Activity 会重新回到前端。这就是在你的 Activity 开始(或者恢复)的位置做更新学习者界面的工作(例如:接受本地更新或者是运行一个动画)。onPause 在 Android 打算恢复另一个 Actrivity 到前端的时候调用。在调用onPause 后,你的 Activity 不再有权使用屏幕,因此,你将停止那些不必要消耗电量和占用 CPU 使用权的事务。

46、如果你的 Activity 是在运行一个动画,那样没有人将可以看到它,所以你也不妨在你的 Activity 未重新获得前端前终止动画的播放。你的Activity 需要使用一个好的方法去存储一些状态,以便使你的 Activity 可以重新获得前端当然,这也并一定能保证你的 Activity 可以恢复。如果移动设备的存储空间全部被你的 Activity 占用,已经没有足够的存储空间给别的程序使用,这样你的Activity 将释放所占有存储空间,给系统进程使用。一旦你退出这个方法,Android会在任何时候将你的 Activity 杀死,你最终将失去对它的控制。2.Android 中 Service

47、 的生命周期Service 的生命周期与 Activity 的生命周期是类似的,但是在一些重要的地方还是有些不同的:onCreate 和 onStart 的不同:当客户端调用 Context.startService(Intent)方法时,Service 才启动。如果一个 Service 当前没有运行,Android 会启动它,并且紧跟着 onStart 方法后调用onCreate 方法。如果一个 Service 当前正在运行,它的 onStart 方法会通过一个新的Intent 对象再次被调用。因此,对于在一个单独运行着的 Service 来说,不断重复的调用 onStart 方法是很有可能

48、,也是很正常的。对于一个 Activity 来说,onDestroy 方法是在 Service 将要结束时调用。Android 将在没有任何客户端需要启动或绑定一个 Service 时结束它。对于大多的Activity 来说,Android 可能也会在内存不足的时候结束一个 Service。如果这样的事情发生,Android 将会在有足够内存空间时尝试重启这个 Service,因此,如果你的Service 需要存储许多数据来为以后的重新启动使用,这样最好在调用 onStart 方法开始时进行。通常由以下四个组件来构建一个完整的 Android 应用程序(1)活动(2)意图接收器 (3)服务(4

49、)内容提供者然而,并不是所有的 Android 应用程序都必须具备上面的四个组件,可以由上面的一个或几个来组建。当决定使用以上哪些组件来构建 Android 应用程序时,需要将它们注册在 AndroidManifest.xml 文件中,这是一个 XML 配置文件,在这个文件中可以声明应用程序组件以及它们的特性和要求。这个配置文件是每个 Android 应用程序所必需的。活动是以上四个组件中最常用的一个。每个活动都是 Activity 的子类,并实现了一些独有的功能,如管理 UI 显示和 UI 的反馈事件。一个活动就相当于应用程序的一个用户界面,由事件响应以及视图等组成。大多数的应用程序通常包括多个界面。例如一个文本聊天应用程序,至少应该包含一个联系人列表界面、一个聊天界面、一个设置界面、一个聊天记录查询界面等等。每个界面其实都可看作是一个活动。显示一个新界面就相当于生成一个对应的活动对象。在一些情况下,活动能够返回给它的上级界面一个返回值,例如一个提供给用户选择照片的活动可以返回给它的调用者用户选择了哪个照片文件。当一个新的活动出现时,前一个活动被中断并被放入到一个历史堆栈中。用户可以使用返回键使前一个活动重现。当一个活动不再需要时,可以将

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

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报