版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计(论文)基于Android的手机小秘书学 院 计算机学院 专 业 计算机科学与技术 年级班别 2010级(2)班 学 号 3110005888 学生姓名 黄 巍 指导教师 谢光强 2014年 6 月基于Andro i d的手机小秘书黄巍计算机学院摘 要随着生活节奏的逐步加快,人们常会有许多的重要工作需要去安排或完成,个人的日常工作、领导的重要会议、特定时间需要拨打的重要电话、指定时间需要自动发送的重要断行、个人重要日期或者时间等。这些工作都需要在特定的时间给予醒目标识和提示。如果能通过技术方式智能自动化的帮你完成一些特定事项(例如自动发送已编辑好的短信息)从而能尽可能的减少人们的负
2、担,带来更有效率的工作和更有条不紊的生活。这就需要有专门的手机小秘书管理系统来安排这些事务。顾名思义手机小秘书管理系统的主要功能是完成个人一般日程和重要日程安排并提供提醒和查看的功能。并不是每个人都有资本配备一位私人的秘书为他安排工作和生活日程,但是随着信息技术的高速发展,手机已经成为现代人们生活所必不可少的物品,毫不夸张的说对于很多人来说让他失去手机对他而言可能就相当于失去了一切,手机在我们的日常生活中已经是无可取代的地位了,所以将手机作为小秘书管理系统的平台可以说是一个绝佳的选择,没有之一。而且现如今手机安卓系统已经成为一门及其热门并且成熟的技术,最重要的它是让所有技术人员都无法抗拒的开源
3、项目,加上我个人非常马虎大意,总是忘记写重要的事情,给自己的学习和生活带来了极大的困扰,因此我选择将基于Android的手机小秘书管理系统作为我的毕业设计课题。本系统是一个基于Android手机平台的秘书管理系统,具有基本的日程活动的增、删、改、查功能,在任务清单中会将代办日程自动进行分类显示,便于查看。用户可根据不同的活动设置任务,便于对工作学习和生活事务的管理。系统还具备提醒程序,可帮助管理重要活动,并且实现定时提醒拨打指定电话和自动发送短信的功能,致力于将你的手机打造成为你的专属私人小秘书,从而让你的工作、学习和生活有条不紊,不再因担心会遗忘任何重要事务和大堆的杂乱无章的代办事件而烦闷。
4、这款秘书事务管理系统是基于Android手机系统平台,运用Android系统中的Activity、BroadcastReceive(广播接收器)、Service(服务)、Content Provider(内容提供者)这四大组件并使用JavaSE语言编写,由SQLite提供的数据的管理来开发的,最终取得了较圆满的成果。关键词:日程管理;秘书事务提醒;JavaSE;GoogleAndroid AbstractAs the pace of life gradually accelerated,people often have a lot of important work need to arra
5、nge or complete,personal daily work and leadership of important meeting, the specific time need to dial telephone, specify the time need to automatically send important line breaks, personal date or time, etc. All these work need to give big logos and hints at a specific time. If can pass the intell
6、igent automation technology way to help you to complete some specific issues (such as automatic sending a text message has been edited) as much as possible to reduce the burden of the people, bring more efficient work and in life. This requires a special phone small secretary management system to ar
7、range these transactions. As the name suggests mobile small secretary management system's main function is to achieve personal general schedule and the schedule and provide important remind and view function.Not everyone has a capital is equipped with a private secretary to arrange work and life
8、 for his agenda, but with the rapid development of information technology, mobile phones have become essential for the modern people life items, literally for many losing his mobile phone for him may be equal to lost all, mobile phones in our daily life is the irreplaceable position, so the phone as
9、 a small secretary management system platform can be said to be a good choice, no one. And mobile phone Android now has become a popular and mature technology, and its most important it is to let all technical personnel cannot resist the open source project, and I am very sloppy, always forget to wr
10、ite something important, for their study and life bring great distress, so I choose will be based on the Android mobile phone small secretary as my graduation design task management system.This system is a based on Android platform, secretary of the management system, has a basic schedule activities
11、 to add, delete, change, check function, in the task list will, according to the schedule automatically classify agents to look at it. The user can be set up according to the different activity task, to facilitate the management of work study and life. System also has reminded program that can help
12、management important activities, and can realize the function of timing automatically send text messages, to your mobile phone as your exclusive private small secretary, to make your work, study and life in an orderly way, and no longer worry about forgetting any important affairs, not for lot of me
13、ssy things and boredom.System is based on the Android platform, in the use of the Android system Activity, BroadcastReceive, Service, Content Provider, the four major components and use JavaSE language, data provided by the SQLite management to develop and eventually achieved satisfactory results.Ke
14、y words: Schedule management;Remind secretary; JavaSE;GoogleAndroid目录1绪论11.2国内外Android平台现状21.3课题研究的意义和目的41.4课题研究方法及内容52相关的技术基础72.1Android系统架构的简介72.2 Android架构分析92.2.1应用程序框架92.2.2类库102.2.3 Android运行时组件112.3 Android应用的构成和工作机制112.4 Android的API122.5 Android应用程序结构解析132.5.1活动(Activity)132.5.2意图接收器(Broadca
15、stReceive)142.5.3服务(Service)142.5.4内容提供者(Content Provider)142.6 Intent的详细解析142.6.1 Intent的抽象描述152.6.2 Android如何解析Intent162.7 Android活动的生命周期162.7.1活动的生命状态172.7.2 活动的运作流程192.8 Java语言 Java SE192.8.1 Java语言特点202.8.2 Java主要特性202.9 Eclipse简介242.9.1 Eclipse中三个最吸引人的地方:242.9.2 Eclipse平台体系结构:242.9.3 Eclipse平台
16、体系结构:242.10 Sqlite简介253系统需求分析263.1 整体需求分析263.1.1 系统总体概述263.1.2 系统数据流图263.1.3 系统功能模块说明263.1.4 系统功能模块结构图273.2 新增提醒模块(主页面,核心模块)273.3 客户端需求分析284系统设计与实现294.1 总体设计294.2 数据库表设计324.3 移动客户端设计334.3.1 新增提醒模块UI设计图334.3.2 电话提醒功能块UI设计图344.3.3 电话提醒功能块流程图354.3.4 清单功能块UI图364.3.5 类分层设计365应用软件测试375.1 操作流程演示375.1.1 应用主
17、界面-新增提醒界面和新增通讯提醒界面图:375.1.2 新增清单事项界面图和新增重要日期提醒界面:385.1.3 代办事项清单列表界面和历史记录列表界面:385.1.4 3D报表界面:39结 论40参 考 文 献41致 谢42V1绪论1.1课题产生背景进入21世纪以来,无所不在的计算将打破传统意义上的计算机概念:使用更方便、移动更容易、功能更多样化的各种具有计算机功能的设备大量出现,并且在需要时,可以随时通过无线方式连接到移动数据通信网络中,以便高效地交换信息和获得各种服务。这种设备人们称之为移动设备(Mobile Device)。移动设备最根本的特征是移动性,即能够利用无线电波、微波或红外线
18、等传输介质允许通信中的设备在一定范围内自由移动,其位置不受束缚,从而实现通信双方至少有一方在移动中进行信息传输和交换的目的。移动设备从产生到现在的历史并不长,然而其发展速度却远远超出人们的预料。现如今,移动设备大行其道,全球有超过十亿部移动电话正在被使用,并且这个数目正在逐渐增加。在除美国之外的每个发达国家,拥有手机的人数比拥有计算机的人数更多。移动互联网的热潮在全世界引起了巨大反响,移动互联网正在改变着传统互联网的格局,全世界的IT公司争相将业务重心向移动互联网转移,移动互联网业务也成为业内最大的利润增长点而目前,随着移动设备越来越普及及移动硬件的提升,移动设备的功能越来越完善,移动设备的系
19、统平台也日渐火热起来。目前国内最常见的移动开发平台有Symbian、iPhone、Windows Phone以及Android。如今国内外都有非常多的Android 系统的用户。自从2011年第一季度,Android在全球份额首次超过Symbian,跃居全球第一。截止2012年2月据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。对于Java语言而言,Android系统给了Java一个新的机会。在过去的岁月中,Java语言最为服务器端编程语言,已经取得了极大的成功,Java EE平台发展的非常成熟,而且一直是电信、移动、银行、证券、电子商务应用的首选平
20、台、不争的王者。但在客户端应用开发方面,Java语言一直表现不佳,虽然Java既有AWT/Swing界面开发库,也有SWT/JFace界面开发库,但对于客户端应用开发人员而言,大多不愿意选择Java语言。Android系统的出现改变了这种局面,而Android是一个非常优秀的手机、平板电脑操作系统,正不断蚕食传统的桌面操作系统,而Android平台应用的开发语言就是Java,这意味着Java语言将可以在客户端应用开发上大展拳脚。Android已经成为应用最广的手机、平板电脑操作系统,采用Java语言开发的Android应用也越来越多。不过需要指出的是,运行Android平台的硬件只是手机、平板
21、电脑等便携式设备,这些设备的计算能力、数据存储能力都是有限的,因此不太可能在Android平台上部署大型企业及应用,因此Android应用可能以纯粹客户端应用的角色出现,然后通过网络与传统大型应用互联,充当大型企业应用的客户端,比如现在已经出现的淘宝Android客户端、赶集网Android客户端,它们都是这种发展趋势下的产物。对于Java开发者来说,以前主要在JavaEE平台上从事服务器端应用开发,但在移动互联网的驱使下,Java开发者必然面临着为这些应用开发客户端的需求。对于Java开发者来说,Android应用开发即是一个挑战,也是一个机遇挑战是:掌握Android应用开发需要重新投入学
22、习成本;机遇是:掌握Android开发之后将可让职业生涯达到一个新的高度,而且移动互联网与Android必然带来更多的就业机会与创业机会,这都值得当下的开发者好好把握。考虑到如今手机系统的发展现状,以及Android平台系统自身所拥有的优势。因此,基于安卓平台开发一款手机应用软件具有较大的意义和可行性。1.2国内外Android平台现状智能手机平台变化莫测,所以每隔一段时间,每个平台的表现都是值得关注的。尤其是在新一年的初始。先来看看占有率的数字。在2012年,Android手机的全球销量为4.815亿部,占据了全球智能手机68.8%的市场份额。在2013年,这个数字上升到了7.812亿、78
23、.9%,这是一个相当惊人的数字。在2013年第四季度,25%的Android手机并未包含谷歌服务,以亚马逊、国内的小米等厂商为主。显然,这种现象说明了即使Android极受欢迎,但碎片化则十分严重。再来看看Android版本的分布情况。目前,最新的Android 4.4显然尚不成气候,Android 4.3/4.2/4.1则占据了59.1%的份额,Android 4.0下降到16.9%,其他22.5%则是老旧的Android 2.X。显然,双核/四核处理器已经向低端产品普及,越来越多的手机都能够搭载更新版本的系统版本,但碎片化依然是谷歌需要考虑的课题。Android平台的一大趋势,便是开放性带
24、来的多设备化。不仅仅是手机平板,包括可穿戴产品、相机、大小家电,都能够搭载Android系统,实现智能化应用。同时,Android设备又是最为前卫、最能凸显行业趋势的产品,下面一起看看各种类型设备的表现。在手机产品领域,Android手机可以说是类型最为丰富的,同时往往集成了最尖端的技术力。首先,在2014年,更大尺寸、2K分辨率屏幕将成为高端配置,vivo品牌已经推出了首款2K屏幕机型,预计三星、LG等品牌也很很快跟进。64位处理器及4GB RAM,也将成为高端手机的标配。另外,摄像头也将继续高像素化,曲面屏幕也是三星、LG等公司所主推的新技术,这些产品类型也有望在2014年内更为丰富。另一
25、个不能忽视的现象,是Google Play版原生机型的增长,包括三星、HTC、索尼、LG等品牌,都推出了原生机型。另有传闻称,谷歌或许会停止Nexus系列原生产品的开发,如果传闻属实,Google Play机型显然会成为谷歌减少碎片化的一种有力手段。在2013年,Android在平板领域的成绩斐然,甚至抢夺了苹果iPad的市场份额。虽然这与Android低价平板的增多不无关系,在2014年仍将保持占有率的优势。可穿戴设备一直是整个科技行业关注的新型产品,其中大部分也搭载了Android系统。包括谷歌眼镜、三星Galaxy Gear等产品,都吸引了相当多的关注,只是在使用体验、可用性方面仍不完美
26、,在消费市场的表现,还是有待考证。Google Play已经成长为集软件应用、多媒体资源的综合娱乐在线商店,目前已经拥有超过100万个应用,音乐、视频及图书服务也在不断增强。不过,应用质量及Pad专版应用,都还暂时无法与苹果App Store相比,同时多媒体资源方面,也拥有一些不确定性。比如在2012年随Nexus 7发布的Google Play杂志应用,在近期已经萎缩成为一个整合式的阅读器功能。显然,由于缺乏供应商的深度支持,谷歌仍需在资源方面进行进一步的整合和优化。不能忽视的还有Android系统的安全性。在过去一年中,Android已经遭遇了广泛的安全性批评,所以加强安全性是今年的一个趋
27、势。不过,谷歌暂时并未在软件方面提出更多安全性的支持,基本上是由厂商添加新的硬件(指纹扫描设备),来实现更好的安全性应用。随着3G应用的不断开发推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地无缝利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。首先,提供智能提醒服务,手机能够与用户实现密切配合,并监控用户的个性化设置(保持在本地或者云端),当重要时间点或关键事物需要用户注意时,手机会向用户发出“提醒”服务,服务包括日程提醒、交通状况、最佳行车路线、最佳泊位、优惠活动、实
28、时新闻、体育赛事、天气情况、股市行情、好友活动、亲友生日等。其次,提供虚拟现实体验,手机可以借助传感器、周边设备了解到您的身边环境,并根据收集到的信息,智能的为您提供有用的信息,如在网络世界养的宠物,可以借助音频设备表达叫声,借助马达和位置传感器等传递其跳、跃等行为信息;也可以在用户购物时,提供相关的同类产品价格参考,提醒用户附近的那个卖场更物美价廉;根据实际场景,为用户及时提供正在操控的产品的使用方法提醒。接着,发挥物联网的优势,借助无处不在的传感器,可以感知并分享到周围世界的海量信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气息信息、交通路况。另外借助物联网,用户间可以方便、
29、快速的分享资源,协助和交互。如进行端到端的多人游戏、照片分享、书籍分享、音乐分享等。然后,作为经济工具,在交通或者信息不发达的情况下,帮助用户找到最佳的市场,获得有价值的帮助信息,帮助用户从事的经济活动的收益率。最后,更加智能、安全的设备,随着智能手机的不断普及和更加智能,手机软件的更新、升级将会变得越发简单,并会为用户提供工具或信息,让用户有能力和权力决策那些内容可以浏览、下载或分享。在安全性上也将更加出色,能够十分有效的帮助用户进行获取到的内容的管理,保护用户的个人隐私和基于手机的金融活动如电子钱包、在线支付、在线贸易等。1.3课题研究的意义和目的21世纪这个急速发展的快节奏信息化社会,时
30、间和信息的重要性也就不言而喻了。随着生活节奏的逐步加快,人们常会有许多的重要工作需要去安排或完成,个人的日常工作、领导的重要会议、个人重要日期或者重要的电话和短信息等。这些工作都需要在特定的时间给予醒目标识或者提示。而为了能尽可能的减少人们的负担,来更有效率的工作和更舒适的生活。这就需要有专门的日程管理系统来安排这些事务。日程管理系统的主要功能是完成个人一般日程和重要日程安排并提供提醒和查看的功能。在进入智能手机时代之前,我们的日程安排只能通过手写记录,经常会因为没有及时翻阅记录而错过了重要的日程,随着手机技术的飞速发展,手机应用的迅速推广,手机改变了人们的生活,工作的方式。日程管理就是将每天
31、的工作和事务安排在日期中,并做一个有效的记录,方便管理日程的工作和事务,达到工作备份的目的。同时也具有对日常工作进行指导、监督的作用。当下大学生生活作息时间紊乱,社团活动、社交和游戏等搞的众多大学生毫无时间观念,重要的事情和约会等被打乱。在这种情况下,本手机日程管理系统的开发显得很有意义,帮你管理平时安排,提醒你的重要时间和约会。我选择了这个课题,意义在于一方面是希望让人们可以合理的管理自己的时间,合理规划一天,对重要的事情不要遗漏,培养我们良好的时间观念。另一方面是软件的运行平台是拥有大量用户的Android操作系统,使用手机管理时间更加方便、快捷。用户可以随时随地的规划生活,对每天的日程安
32、排一目了然,使生活更加有调理。1.4课题研究方法及内容通过开发一个项目,既android小秘书事务管理器来了解Android平台的相关特性和开发的流程。具体来讲:1、 通过分析当前阶段下各种人群的喜好和对事物的关注程度来选择究的项目,既事务管理软件。2、 通过独立设计UI来了解Android以至于移动平台开发的UI的设计方法。3、 通过选取相应的数据存储来方式存储日程管理的数据,来了解Android平台的类库和其相关的设计模式,了解其先进的思想和API的特点。4、 通过设计功能点来初步的了解移动平台开发的所需注意事项,初步的了解移动平台的开发,并了解别体会如何获得更好的人机交互。5、 通过测试
33、来完善程序,使其Bug不合理地方最少化,并进一步了解Android平台的相关先进的特点和其人性化的设计,与此同时熟悉软件开发的相关流程并深刻认识在编码时一些注意事项的重要性。本论文的内容结构如下:第一章:介绍课题背景,课题的发展现状,以及课题的研究目的和意义。第二章:课题涉及到的相关知识和技术的介绍。第三章:详细分析系统需求。第四章:讨论系统设计与实现。第五章:讨论系统的主要测试。文章最后为课题结论、致谢与参考文献。2相关的技术基础2.1Android系统架构的简介Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。由下而上,其核心为嵌入式Linux2.6作业系统,
34、向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。Android的功能特征如下:1. 应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。2. Dalvik虚拟机器:在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。3. 集成的浏览器:集成的浏览器是Android内建的
35、浏览器,是以WebKit的浏览引擎为基础所开发成的。WedKit是一个开源浏览器网页排版引擎,目前使用WebKit引擎的浏览器主要有:Safari,Midori,Epiphany等。配合Android手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放网页上的资讯、触控式的操作等效果。4. 优化的绘图能力:在程序里可以用到的绘图功能分为2D与3D两个方面。在2D方面,Android提供了一套特有的类库(SGL;而在3D方面则是使用OpenGLES1.0(openGL for Embedded systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。5. SQLit
36、e数据库:SQLite提供结构化的数据存取。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够支持Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如php,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite也是一套开放性的关
37、联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。6. 多媒体的支持能力:主要用于播放媒体文件。这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”(Note:URI即是统一资源识别地址)模式在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF等格式。7. GSM技术:Global System for Mobile Communications,即全球移动通讯系统,俗称”全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网
38、络标准,让用户使用一部手机就能行遍全球。GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。8. 蓝牙、EDGE、3G及Wi-Fi:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM,Evolution),即增强型数据速率GSM演进技术。EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和SPSK调制技术。由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符
39、号所包含的信息是原来的4倍。Wi-Fi(WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.lla和IEEE802.11b。这些通讯能力也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。9. GPS: Global Positioning System,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。这个系统可以保证在任意时刻和任何地点都可以同时观测到4颗卫星,以保证卫星
40、可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人。这个同样也是属于手机硬体方面的体现,也是在开发Android应用程序是可以突出的特点之一。2.2 Android架构分析Android的架构是由Linux内核、C/C+函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在DalvikVM上运行的。图2.2 Android架构图2.2.1应用程序框架在Android SDK中,定义了让开发者使用与核心应用程序相同API的权限应用程序框架是为了要简化组件的重新利用而设计
41、的,应用程序可以发布功能为其它应用程序所使用。但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。目前所有的应用程序是由服务及系统来组成,包含有:1. 一套强大和可扩展的视图系统:用来建构一个应用程序的基本组件,包了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web浏览器。 2. 内容提供者:使应用程序可以访问另一个应用程序的数据(如联系人数库),或者共享它们自己的数据。3. 资源管理器:提供各种非程序代码的资源让应用程序去使用。例如:本字符串、图形文件或排版相关的布局文件。4. 通知管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息
42、。5. 活动管理器:管理所有应用程序的生命周期及提供常用的导航回退功能。例如:启动应用程序要用到的资源准备及关闭应用程序时释放内存及相关资源等工作。6. 视窗管理器:用来管理所有启动程序的视窗。7. 位置管理器:用来管理地图服务的相关功能。8. 电话管理器:用来管理用户拨打与接听电话的相关功能。9. 包管理器:管理所有安装在Android系统内的包。2.2.2类库在Android中包含一些C/C+的类库,这些类库能被Android系统中不同的组件来使用。开发者可以通过应用程序框架使用这些功能。部分核心类库列表如下:1. surface Manager:主要的功能是让开发者可以去存取/显示系统及
43、管理的功能,在显示与存取操作间的对应、互动以及实现无接缝的2D/3D多应用程序之间的整合。例如:在2D、2D显示上的合成、叠合动作。2. 3Dlibraries:主要是依openGLES1.0规范所定义的3D绘图引擎。该库使用硬件加速(当硬件可用时),可以将硬件的3D功能做最佳化的处理显示。3. SGL:主要是处理有关显示2D方面的绘图引擎。4. Media Frame work:主要是以packetVideo公司的OpenCORE为基础所发展的多媒体类库,该库支持回放和录制大量流行的音视频格式和静态图片。例如:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等格式5.
44、Free Type:主要是用来显示点阵图和处理向量字形的。6. SSL:(secureSocketsuyer),中文名为“安全套接层协议层”,它是网景公司提出的基于WEB应用的安全协议,当前版本为3.0。SSL协议指定了一种在应用程序协议(如HTTP、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP胆协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL R
45、ecord Proto col):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Hand shake proto col):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。SSL协议提供的服务主要有:认证用户和服务器,确保数据发送到正确的客户机和服务器;加密数据以防止数据中途被窃取;维护数据的完整性,确保数据在传输过程中不被改变。7. SQLite:SQLite是一套开放性的关联式资料库,能够被所有应用程序使用的轻量级的关系数据库引擎。8. web Kit:是一个先
46、进的网页浏览器引擎,被用来构建Android浏览器和内嵌的web视图,也可以让开发者利用这个引擎来做不同的应用。9. lib c:就是一个BSD标准C类库。但是,针对Linux嵌入式装置进行过最佳化的调整。2.2.3 Android运行时组件虽然Android是用Java语言来开发、撰写应用程序,但却不使用Java运行时组件来执行Java程序,而是使用了由Google自行研发的Android运行时组件来执行程序。Android运行时组件包括两个重要的部分,一个是核心类库,另一个是Dalvik虚拟机。2.3 Android应用的构成和工作机制对于一个Android应用程序来说,是由Activit
47、y、IntentReceiver、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidManifest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程如图2.3:图2.3 Android的构成和工作流程2.4 Android的APIAndroid API主要包含了以下几个部分:1. AndroidManifest.xmlAndroidManifest.xml是系统的控制文件,它
48、告诉系统如何处理所创建的所有应用组件(尤其是活动(Activity),服务(Service),意图接收器(Intent Receiver)和内容提供者(Content Provider)。举例来说,控制文件就是把活动和要接收的意图(Intents)连接在一起的“胶水”。2. 活动活动就是一个有生命周期的对象。一个活动就是完成某些工作的代码块,这部分工作还可能包括对用户UI界面的显示。不过这不是必须的,有些活动从不显示UI界面。3. 视图视图可以将其自身绘制到屏幕上。Android的用户界面由一系列的视图树构成。接口都是由一组以树的形式出现的视图组成的。开发者可以通过创建一个新的视图的方法来使用
49、自定义的图形处理技术(比如开发游戏,或者是使用了不常用的用户图形窗口界面)。4. 意图意图是一个简单的消息对象,它表示程序想做某事的“意图”。比如应用程序想要显示一个网页,那么它可以通过创建一个Intent实例并将其传递给系统来表示意图浏览这个URI。系统将定位到能处理这一Intent的代码(在当前情况下就是浏览器),并运行之。意图也可以用于广播系统范围内的有效事件(例如通知事件)。5. 服务服务是运行在后台的一段代码。它可以运行在它自己的进程,也可以运行在其他应用程序的进程里,这取决于自身的需要.。其它的组件可以绑定到一个服务上来,通过远程过程调用(RPC)来调用这个方法。例如媒体播放器的服
50、务,当用户退出媒体选择的界面时,仍然希望音乐依然可以继续播放,这时就可用服务来保证当用户界面关闭时音乐还继续播放着。6. 通知通知将以小图标的形式呈现在状态栏里,用户通过与图标的交互来接收消息。最常见的通知包括短信息、通话记录和语音邮件,但是应用程序也可以创建它们自己的通知事件。7. 内容提供者内容提供者是用来提供对设备上数据进行访问。典型的例子就是使用内容提供者来访问联系人列表。应用程序也可以使用其它程序通过内容提供者提供的数据,同时也可以定义自己的内容提供者来向其它应用提供数据访问服务。2.5 Android应用程序结构解析通常由以下四个组件来构建一个完整的Android应用程序。1. 活
51、动(Activity)2. 意图接收器(BroadcastReceive)3. 服务(Service)4. 内容提供者(Content Provider)然而,并不是所有的Android应用程序都必须具备上面的四个组件,可以由上面的一个或几个来组建。当决定使用以上哪些组件来构建Android应用程序时,需要将它们注册在AndroidManifest.xml文件中,这是一个XML配置文件,在这个文件中可以声明应用程序组件以及它们的特性和要求。这个配置文件是每个Android应用程序所必需的。2.5.1活动(Activity)活动是以上四个组件中最常用的一个。每个活动都是Activity的子类,并
52、实现了一些独有的功能,如管理UI显示和UI的反馈事件。一个活动就相当于应用程序的一个用户界面,由事件响应以及视图等组成。大多数的应用程序通常包括多个界面。例如:一个文本聊天应用程序,至少应该包含一个联系人列表界面、一个聊天界面、一个设置界面、一个聊天记录查询界面等等。每个界面其实都可看作是一个活动。显示一个新界面就相当于生成一个对应的活动对象。在一些情况下,活动能够返回给它的上级界面一个返回值,例如一个提供给用户选择照片的活动可以返回给它的调用者用户选择了哪个照片文件。当一个新的活动出现时,前一个活动被中断并被放入到一个历史堆栈中。用户可以使用返回键使前一个活动重现。当一个活动不再需要时,可以
53、将它们从历史堆栈中移除。默认情况下,Android会为每个应用程序保留从主界面开始的历史堆栈。Android通过一个被称作意图的特殊类,来实现界面与界面之间的跳转。一个意图描述了一个应用程序想要做什么。在意图的描述结构中,含有两个重要的数据结构:动作和动作对应的数据。典型的动作类型包括MAIN、VIEW、PICK、EDIT等等,而动作对应的数据则以URI的形式表示。例如:显示一个联系人信息的界面,可以创建一个意图,并将它的动作设置成VIEW,数据设置成表示这个人信息的URI。除此之外,还有一个被称作意图过滤器(IntentFiher)的相关类。当发生一个有效的目的请求时,意图过滤器用来描述一个
54、活动能够处理什么意图。如上例中所描述,想要正常显示一个联系人信息的界面,必须声明一个意图过滤器,它说明当有联系人数据要被在界面上显示时,知道如何处理它们。通常意图过滤器要被注册在AndroidManifest.xml文件中。从一个界面跳转到另一个界面是由解析各种意图实现的。例如:一个活动使用startActivity(myIntent)来调用其他活动时,系统会查找所有已经安装的应用程序的意图过滤器,并从中挑选出能够匹配myIntent意图的活动。随后,这个新的活动接收到意图(myIntent)的通知并开始运行。当startActivity方法被调用,解析意图的处理过程随之发生,这个机制有以下两
55、个突出的优点:1. 活动可以通过一个以意图形式产生的请求来重用其他组件的功能。2. 活动可以在任何时候被一个具有等价意图过滤器的新活动所替代。2.5.2意图接收器(BroadcastReceive)当想要编写代码来对外部事件做一些处理时,可以使用意图接收器。意图接收器并不显示UI界面,它是通过NotificationManager来通知用户他们感兴趣的事件发生了。意图接收器同样可以被注册在AndroidManifest.xml文件中,同时也可以在代码中使用Context.registerReceiver()来注册自己的意图接收器。当一个意图接收器被触发时,系统会根据需要来启动应用程序。2.5.
56、3服务(Service)服务是具有长生命周期并且没有用户界面的代码。2.5.4内容提供者(Content Provider)在Android中,每个应用程序都是有自己的userID及在自己的进程中执行。这样做的好处是,可以保护系统及应用程序,避免被其他不正常的应用程序所影响。可以把每个进程想像成是一个黑盒子,彼此不会互相影响,连内存的资料都无法共享。如果应用程序之间想要共享数据,就需要使用用内容提供者。一个内容提供者就是一个类,它实现了一个标准的方法集合。其他的应用程序可以使用这些方法来保存和检索此内容提供者处理过的数据。2.6 Intent的详细解析在一个Android应用中,主要是由四种组
57、件组成的,这四种组件可参考上一节的内容。而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。在这些组件之间的通讯中,主要是由意图协助完成的。意图负责对应用中一次操作的动作、动作对应的数据、附加数据进行描述,Android则根据此意图的描述,负责找到相应的组件,将意图传递给它,并完成组件的调用。因此,意图在这里起着一个媒体中介的作用,专门提供组件之间互相调用的相关信息,实现调用者与被调用者之间的解耦。例如,在一个联系人维护的应用中,当在一个联系人列表屏幕(假设对应的Activity为listActivity)上,点击某个联系人后,希望能够调出此联系人的详细信息,为了实现这个目的,listActivity需要构造一个Intent,这个Intent用于告诉系统,要做“查看”动作,此动作对应的查看对象是“某联系人”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无人机巡检操作员绩效考核方案
- 众联网校协议就合同
- 中学宿舍管理协议书
- 代理商提成合同范本
- 产业股份分成协议书
- 中介股东合作协议书
- 万科购房合同范本
- 餐饮部门供应链智能化升级方案
- 基层卫生院慢病管理方案
- Unit7SectionB(Project)教学设计-人教版八年级英语上册
- 房屋市政工程生产安全重大事故隐患判定检查表(2024版)
- 怎样做好肿瘤科护理质控
- FuTURE白皮书 - 正交时频空方案(OTFS)白皮书0409
- 防治水痘的教案
- 消防设施工程专业承包企业资质等级标准及承包工程范围
- 食品加工企业研发部经理(项目经理)作业指导书
- 2025年全国硕士研究生入学统一考试英语(二)真题及答案
- 喷淋的货架施工方案
- 设备三级保养及润滑培训
- 2025年“安康杯”安全生产知识竞赛考试题(附答案)
- 机场餐饮卫生安全管理-深度研究
评论
0/150
提交评论