基于android的手机系统助手软件的实现——文献综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Android的手机系统助手软件的实现
1. 引言
随着手机的普及以及手机应用的深入人心,近几年“智能手机”成为了人们关注的话题。在现今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统。Android凭借其开放性和良好的人机界面,受到广大手机生产商的重视。
Android是基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。[1]从Android的从业角度分析,Android的开发概括为两类:一是系统开发,包括低层linux内核的裁剪和扩展,硬件驱动的开发和系统移植等,从业人员主要工作在硬件厂商的公司里:而是应用开发,主要包括游戏开发、Android互联网客户端开发和工具软件开发等。随着用户群体的不断壮大,Android系统有望成为手机操作系统的“Windows”所以Android应用开发应用需求将非常大。[2]
2. 研究背景
2.1 Android的前世今生
Android平台是开放手机联盟为创造一代更好的移动电话而合作开发的产品。该联盟由谷歌领导,成员包括移动运营商,手机设备制造商,元件制造商,软件解决方案和平台供应商以及销售商。从软件开发的角度,机器人立足于开源世界。
市场上第一款基于Android系统的手机G1由HTC制造并供应给T - Mobile 用于销售。然而,该设备从放出风声到真正发布,用了大概一年的时间,因为发布的sdk补丁累计了一年才使唯一的软件开发工具变得可用。随着G1发布日期的临近,Android团队发布了SDK1.0,为新的平台而设计的应用也开始浮出水面。
为了鼓励创新,谷歌赞助了两轮“Android开发者挑战大赛”,并提供了数百万美元的奖励。在G1发布后的几个月,谷歌发布了Android市场,它允许用户直接在自己的手机上浏览和下载应用程序。大约过了18个月,一个新的移动平
台进入了公众的视野。[3]
2.2 Android简介
Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟Open Handset Alliance开发。它采用了软件堆层software stack,又名以软件叠层的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One。[4]
2.3 Android开发工具
Android的上层应用程序是用Java语言开发的,同时需要基于Dalvik虚拟机,所以Google公司推荐使用主流的Java继承开发环境Eclipse。有了Eclipse 还不够,因为使用Java语言进行开发,应该有由SUN公司提供的Java SDK,其中包含了JRE:Java Runtime Environment。另外,Android的应用程序开发还是和Java开发有一定区别,所以还需有一个Google提供的Android SDK。[5]
2.4 Android应用程序特点
Android系统是一个强大的智能机系统,与之相适应的硬件也一般具备相对较高的性能。总结起来,Android系统上的应用程序具有以下一些特点:
1.功能强大。Android平台的设备一般都具备较强的运算能力、存储空间、网络功能以及各种各样的传感器。
2.可复用性强。Android的应用程序由许多Activity组成,不同的Activity在程序中实现不同的功能模块。而最令人赞叹的就是,得益于Android的良好设计,不同应用程序之间的Activity可以实现共享(可以通过安全选项进行配置)。这就实现了良好的复用性。[6]
3.开放程度高。“开放”是Android的设计宗旨之一,开发人员可以自己编写程序替代系统中原有的程序,甚至连拨号、短信、主屏幕这样的核心功能都可以由第三方开发人员的程序替代。
3. Android上的应用程序开发概要
3.1 Android应用程序的组成部分
Android 有丰富的功能,是一个分层的环境,构建在Linux 内核的基础上,包括丰富的功能。
Android 应用程序是用Java 编程语言编写的,它们在Dalvik虚拟机中运行。每个Android 应用程序都占用Dalvik VM 的一个实例,这个实例驻留在一个由Linux 内核管理的进程中。
Android应用程序是由Android体系结构定义的四个基本组成部分类型构成,:
1.Activities 活动
这些都是在台式机媲美独立的系统,如办公应用软件。Activities是实时可执行代码,当用户或操作系统和运行需要时即被实体化。他们可以通过其他Activities或通过查询或意图服务与用户交互和请求数据。Android的大多数可执行代码将执行写在一个活动的环境中。活动通常对应显示屏:每个活动显示一个屏幕给用户。当它运行的不积极,活动可以结束运行的系统来节省内存。
2.Services服务
与桌面和服务器操作系统守护进程相似。服务组件在后台运行,直到手机关机。他们一般不公开用户界面。
MP3播放器是一个服务的典型例子,需要一直处理等待处理的的文件,甚至当用户已经在使用其他应用程序。即使没有一个用户界面仍然存在,应用程序可能需要实现服务来执行。
3.Broadcast and Intent Receivers广播接收机和意图
这些服务请求的响应另一个应用程序。一个广播接收机响应一个事件。这些广播可能来自Android本身(如电池低),或从任何在系统上运行的程序。一项活动或服务提供了访问其功能的接口是通过执行一个意图接收器,一段响应数据或其他活动的服务要求的可执行代码。广播接收器会自动地启动应用程序来响应某个到来的Intent,这个特点使它们成为了事件驱动的程序的最佳选择。
意图,一个简单的消息传递框架。使用Intent,可以在系统范围内向目标活动或者服务广播消息,以说明希望执行某个动作的意图。之后系统就会确定那些最适合执行动作的目标。
4. Content providers内容提供程序
一个可共享的数据仓库。每一个内容提供器都开放一个唯一公共URI(由