武汉理工大学论文
二 Android平台介绍
2.1 平台背景概述
早在 2005 年,谷歌就低调收购了当时成立仅 22 个月,致力于手机软件和手机操作系统研发的高科技企业 Android,至此谷歌为其进军智能手机领域开响了第一枪。2007 年 11 月 5 日,Android 被谷歌正式公布作为自己的手机系统平台,而在未公开之前常被传闻为 Google 电话或 gPhone。Android的Logo是一个全身绿色的机器人,如图2-1所示。
图2-1 谷歌Android机器人标志
2.2 系统概述
Android 一词的本义指“机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 内核的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它是一个为移动终端打造的真正开放和完整的智能手机系统。其早期由 Google 开发,后由开放手机联盟OpenHandset Alliance开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分,底层以 Linux 内核为基础,由 C语言开发,只提供基本功能;中间层包括函数库 Library 和虚拟机 Virtual Machine, 由C++开发;最上层是由各公司自行开发,以 Java 编写的各种应用软件,如通话程序,短信程序等。
Android 平台整体自底向上由以下四个层次组成:Linux 内核层、Android 运行时库和其他库层、应用框架层、应用程序层。
2
武汉理工大学论文
2.3 Android系统的特点
Android系统的特点大体有如下几点:
(1)开放性。Google与开放手机联盟合作开发了Android,Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
(2)应用程序无界限。Android上的应用程序可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。
(3)应用程序是在平等的条件下创建的。移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。
(4)应用程序可以轻松地潜入网络。应用程序可以轻松地潜入HTML、JavaScript和样式表,还可以通过WebView显示网络内容。
(5)应用程序可以并行运行。Android是一种完整的多任务环境,应用程序可以在其中并行运行。在后台运行时,应用程序可以生成通知以引起注意。
2.4 Android手机强大的功能
Android手机的功能比起传统手机来说相当强大,其优势也很明显:
(1)智能虚拟键盘。虚拟键盘的出现意味着基于Android1.5或以上版本(Android 2.0)的移动设备可以同时支持物理键盘和虚拟键盘。不同的输入方式可满足用户在特定场景的需求。Android虚拟键盘可以在任何应用中提供,包括Gmail、浏览器、SMS,当然也包括大量的第三方应用,如自动校正、推荐、用户词典等。不同于其他手机平台,Android 1.5及以上的版本还支持第三方虚拟键盘应用的安装。如图2-2所示。
(2)使用Widget实现桌面个性化。可以用Widget“武装”自己的桌面。大多数小的Web应用都是从网络上获得实时数据并展示给用户的。Android预装了5个桌面Widget,包括数字时钟、日历、音乐播放器、相框和搜索。不同于iPhone,Android通过内置的应用程序安装第三方Widget。如图2-3所示。
3
武汉理工大学论文
图2-2 虚拟键盘 图2-3 用Widget实现个性化桌面 (3)用在线文件夹快速浏览在线数据。类似于OS X Leopard的QuickLook特征,Android的在线文件夹可显示常见的数据条目,比如联系人、喜欢的应用、E-mail信息、播放列表、书签、RSS源等,并不需要运行系统程序处理特定的数据条目。在线文件夹数据实时更新,就像通过云或是本地创建新的数据。什么是最好的,开发者可以拓展通用数据条目和注册新数据类型的内置支持。
(4)视频录制和分享。Android还有录制和分享视频的功能,对回放和MPEG-4、3GP等视频格式也有了更好的支持。可以通过E-mail、MMS或直接上传到YouTube等方式来分享视频,使用隐私控制来决定是分享给朋友还是每个人。上传视频的同时,可以继续使用手机,甚至可以继续录制和上传新的视频。
(5)图片上传。在线分享图片需要的点击更少。完成照相后,当浏览图片或选择Google在线图片服务Picase时,只需轻点“分享”就会拥有1GB的免费图片存储空间。
(6)更快、更兼容的浏览器。Android的基于Webkit内核的浏览器带来了重要的调速装置(SpeedPumb),这得益于新的Webkit渲染引擎和优化的Java脚本编译器(SquireIFish)。当使用包含大量Java脚本的复杂Web应用时,可以体验到更佳的性能。除提高速度外,Android的浏览器还支持Web页面内的复制和粘贴操作,用户可以选中文本并复制,然后粘贴到搜索框中进行搜索。
(7)Voice Search语音搜索。带有语音识别技术的Google手机已于2008年11月面世,它支持语音搜索功能。该功能增强了默认的搜索能力,已超过纯文本搜索。当你大声说出要搜索的内容后,Android将上传数字信号并记录到Google服务器中。在服
4
武汉理工大学论文
务器中,语音识别技术能将语音转化为特定的文本搜索,使之通过Google搜索引擎,通过地理位置的筛选,将结果反馈到手机设备。
(8)立体声蓝牙和免提电话。除了增强的免提电话体验,Android还支持立体声蓝牙(A2DP和AVCRP),并有自动配对功能。
(9)强大的GPS技术。Android内部提供了大量的GPS组件,我们可以很轻松地获得设备当前的位置等信息,让导航等功能更加完美。
(10)Android系统硬件检测。Android可自动检测和修复SD卡的文件系统,允许第三方应用显示Android系统的硬件特征。为了让用户下载到与组件的设备更匹配的应用,我们可以检测用户设备的硬件信息,让满足应用要求的设备安装该程序,当更多的Android设备建立在不同的硬件上时,这个功能会显得很实用。
2.5 Android应用程序框架
框架是一个应用程序的核心,是所有参与开发的程序员共同使用和遵守的约定,大家在其约定上进行必要的扩展,但程序始终保持主体结构的一致性。其作用是让程序保持清晰和一目了然,在满足不同需求的同时又不相互影响。
Android 系统提供给应用开发者的本身就是一个框架,所有的应用开发都必须遵守这个框架的原则。在开发应用时就是在这个框架上进行扩展,Android框架有如下功能可供使用。
? android.app: 提供高层的程序模型和基本的运行环境。 ? android.content: 包含对各种设备上的数据进行访问和发布。 ? android.database:通过内容提供者浏览和操作数据库。
? android.graphics:底层的图形库,包含画布、颜色过滤、点、矩阵,可以将
它们直接绘制到屏幕上。
? android.media:提供一些类管理多种音频、视频的媒体接口。 ? android.net:提供帮助网络访问的类,超过通常的java.net.*接口。 ? android.os:提供了系统服务、消息传输和IPC机制。 ? android.opengl:提供OpenGL的工具。
? android.provider:提供访问Android内容提供者的类。 ? android.telephony:提供与拨打电话相关的API交互。
5
武汉理工大学论文
? android.view:提供基础的用户界面接口框架。
? android.util:涉及工具性的方法,例如时间日期的操作。 ? android.webkit:默认浏览器操作接口。
? android.widget:包含各种UI元素(大部分是可见的)在应用程序的布局中
使用。
2.6 Android开发环境的搭建
配置Android开发环境之前,首先需要了解Android对操作系统的要求。它可以使用Windows XP及其以上的版本、Mac OS、Linux等操作系统,以Windows XP为例进行讲解。Android开发所需软件的版本及其下载地址如表2-1所示。
表2-1 Android开发所需软件的下载地址
软件名称 下载地址
JDK http://java.sun.com Eclipse http://www.eclipse.org
SDK http://developer.android.com/sdk/index.html ADT http://dl-ssl.google.com/android/eclipse/
Android 以 Java 作为开发语言,JDK是进行Java 开发时必需的开发包。Eclipse是一款非常优秀的开源IDE,在大量插件的“配合”下,完全可以满足从企业级Java应用到手机终端Java游戏的开发,Google官方也提供了基于Eclipse的Android开发插件ADT。
Eclipse的安装非常简单,直接将下载的压缩包解压即可。安装了JDK和Eclipse后,就要安装Android SDK和ADT插件了。
2.6.1 Android SDK安装
(1)解压缩下载好的SDK安装包到要安装SDK的路径,然后运行“SDK Stetup.exe”。 (2)如果遇到了消息为“Failed to fetch URL?”的错误提示,那么需要将HTTPS方式改为HTTP方式,在“Android SDK and AVD Manager”窗口的左侧选择“Settings”,选中“Force https://?”选项,点击“Save&Apply”并重新运行SDK Setup.exe。
(3)点击“Available Packages”,选择要安装的API版本及USB驱动和SDK文档,
6