admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:免费条码生成器)

基于Android平台的应用开发研究

摘要:Android平台是Google推出的新一代智能手机平台。深入

讨论了Android平台的系统架构、应用程序的构成,并详细介绍

了在Windows系统下的Android开发环境的搭建。

关键词:Google Android;智能手机平台;应用程序;环境

搭建

Android一词的本义是指机器人,同时也是Google于2007

年11月5日牵手34家移动技术和无线应用领域的领军企业联合

组成的手机开发联盟(Open Handset Alliance)宣布的基于Linux平

台的开源手机操作系统的名称,该平台由操作系统、中间件、用

户界面和应用软件组成,号称是首个为移动终端打造的真正开放

和完整的移动软件。其开放性保证该平台不存在任何阻碍移动产

业创新的阻碍,开发人员在该平台开发的所有应用程序,必须是

使用java语言编写的,在Android Runtime的Dalivk虚拟机上运

行的。

1Android系统架构

Android基本上就是一种嵌入式Linux系统再加上一些重要

的手机应用开发软件,如果深入研究其系统架构,其整体自底向

上由4个主要层次构成,包括Linux Kernel(Linux内核层)、

Library(函数库)和Android Runtime(Android运行时库)、

Application Framework(应用软件架构)、Application(应用程序),

如图1所示。

(1)Linux Kernel(Linux内核层):Android基于Linux 2.6

提供核心系统服务,负责硬件的驱动程序、网络堆栈、电源、系

统安全机制、进程管理以及内存管理等功能。Linux Kernel也作

为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供

统一的服务。 如果学过计算机网络的人知道OSI/RM,就会知

道分层的好处就是使用下层提供的服务而为上层提供统一的服

务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会

影响到上层。特别的是,这个内核操作系统并非类GUN/Linux

的,所图1Android 系统架构

以其系统库、系统初始化和编程接口都和标准的Linux系统

有所不同。它没有采用虚拟内存文件系统,而是采用YAFFS2文

件系统。

(2)Library(函数库)和Android Runtime(Android运行时库):

Library(函数库)由大多数开放源代码的函数库组成,包含一个

C/C++库的集合,供Android系统的各个组件使用。这些功能通

过Android的应用程序框架(Application Framework)展示给开

发者,例如准C函数库Libc、OpenSSL、SQLite等;网页函数

库WebKit负责Android网页浏览器的运行;媒体库基于

PacketVideo的OpenCORE,这些库支持播放和录制许多流行的

音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、

MP3、 AAC、 AMR、JPG、 PNG;界面管理,管理访问显示

子系统和无缝组合多个应用程序的二维和三维图形层;

LibWebCore,新式的Web浏览器引擎,驱动Android 浏览器和内

嵌的Web视图;SGL,基本的2D图形引擎;3D库,基于OpenGL

ES 1.0 APIs的实现。所有应用程序都可以使用的强大而轻量级的

关系数据库引擎。

Android Runtime(Android运行时库)是和Library(函数库)并

行的,在此提供Android特有的Java内核函数库与可转换Java

运行码Bytecode,为Android专属的Dalvik Executable(.dex)文件

格式的Dalvik虚拟机,可以通过Java语言编写Android应用程

序,并在Android平台上同时运行多个Java应用程序。Dalvik

虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管

理。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik

设计的一种压缩格式,适合内存和处理器速度有限的系统。 大

多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于

寄存器的。

(3)Application Framework(应用软件架构):它是所有

Android重点应用程序Framework API的总集合,主要的目的是

让程序开发者可以更方便地使用这些常用的应用程序进行设计

架构,以便更快速地开发Android应用程序。而这些常见的API

有显示功能,如消息方块、条列消息、按钮、内嵌式浏览器等;

消息提供功能,如访问信息、分享信息;资源管理功能,如图形、

地方化字符串、布局文件等;提示消息功能,主要用来显示警告

消息、特别是当使用者操作错误时,等其它功能。

所有的应用程序其实是一组服务和系统,包括 视图(View),

丰富的、可扩展的视图集合,可用于构建一个应用程序。包括列

表、网格、文本框、按钮,甚至是内嵌的网页浏览器;内容提供

者(Content Providers),使应用程序能访问其它应用程序(如通

讯录)的数据,或共享自己的数据; 资源管理器(Resource

Manager),提供访问非代码资源,如本地化字符串、图形和布局

文件; 通知管理器(Notification Manager),使所有的应用程序

能够在状态栏显示自定义警告;活动管理器(Activity Manager),

管理应用程序生命周期,提供通用的导航回退功能。

(4)Application(应用程序):最上层的应用程序都是用Java

语言开发的应用程序,例如Google Maps、E_mail、即时通信工

具、计算机、浏览器、通讯本、MP3播放器等。

2Android应用程序的构成

一般情况下Android应用程序是由以下4种组件构造而成

的:活动(Activity)、广播接收器(Broadcast Intent Reciver)、服务

(Service)、内容提供器(Content Provider) 。需要注意的是,并不

是每个Andorid应用程序都必须构建这4个组件,有些可能由这

些组件的组合而成。一旦确定了应用程序中需要的组件,那么就

应该在中列出他们。 这是一个XML配置

文件,它用于定义应用程序中需要的组件、组件的功能及必要条

件等。

(1)活动(Activity):活动是最基本的Android应用程序组

件,应用程序中,一个活动通常就是一个单独的屏幕。每一个活

动都被实现为一个独立的类,并且从活动基类中继承而来,活动

类将会显示由视图控件组成的用户接口,并对事件做出响应。 大

多数的应用是由多屏幕显示组成。当打开一个新的屏幕时,之前

一个屏幕会被置为暂停状态并且压入历史堆栈中。用户可以通过

回退回到以前打开过的屏幕。我们可以选择性地移除一些没有必

要保留的屏幕,因为Android会把每个从桌面打开的程序保留在

堆栈中。

(2)广播接收器(Broadcast Intent Reciver):Broadcast Receiver

使应用程序对一个外部的事件做出响应。比如:当电话呼入时,

数据网络可用时,下载完成时。Broadcast Receivers不能显示UI,

它只能通过 Notification Manager 来通知用户这些有趣的事情发

生了。Broadcast Receivers既可以在Android 中注册,

也可以在代码中使用er Receiver()进行注册。但这些

事情发生时,应用程序不必对请求调用 Broadcast Receivers,系

统会在需要的时候启动应用程序,并在必要情况下触发Broadcast

Receivers。各种应用程序还可以通过使用oadcast()

将它们自己的intent broadcasts广播给其它应用程序。

(3)服务(Service):在Android中一个服务是具有一段较长

生命周期且没有用户界面的程序。比较好的一个例子就是一个正

在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应

用中,应该会有多个活动,让使用者可以选择歌曲并播放歌曲。

在这个例子中,媒体播放器这个活动会使用 ervice()

来启动一个服务,从而可以在后台保持音乐的播放。同时,系统

也将保持这个服务一直执行,直到这个service运行结束。

(4)内容提供器(Content Provider):就是一个对外提供数据

的接口,类似于普通Web应用的一个Webservices接口,按照标

准开放出一个接口,供其它应用获取数据 。当想将你的应用数

据与其它的应用共享时,内容提供其将会很有用。一个内容提供

器类实现了一组标准的方法,从而能够让其它的应用保存或读取

此内容提供器处理的各种数据类型。

3Windows下Android开发环境的搭建

在Windows系统下开始Android开发之旅前,首先要进行

环境搭建,以下将着重介绍这一过程。

3.1JDK安装

首先下载jdk,按照提示安装成功后,最重要的是进行环境

变量的配置,步骤如下:我的电脑->属性->高级->环境变量->系

统变量中添加以下环境变量:

(1)JAVA_HOME值为:C:\Program Files\Java\

jdk1.6.0_20(安装JDK的目录)

(2)CLASSPATH值为:.;%JAVA_HOME%\lib\

;%JAVA_HOME%\lib\;%JAVA_HOME%\bin;

(3)Path值:添加C:\Program Files\Java\jdk1.6.0_20\

bin;

3.2Eclipse安装

可下载一个绿色版的Eclipse,无需安装,和安装版一样都

能为Android开发提供功能。

3.3Android SDK安装

在Android Developers下载android-sdk_,下

载完成后解压到任意路径。

(1)运行SDK ,出现如图以下界面,点击

Available Packages。选择希望安装的SDK及其文档或者其它包,

点击Installation Selected、Accept All、Install Accepted,开始下载

安装所选包。

图2下载窗口

(2)下载完成后出现如下图的所有android-sdk_r07-windows

文件夹内容:

图3下载完成后

3.4ADT安装

ADT实际上是一个工具,它可以连接sdk和Eclipse,帮助

Eclipse找到sdk打开 Eclipse界面,进入进入菜单中的 “Help”

-> “Install New Software”,点击Add按钮弹出对话框要求输入

Name和Location,如图4所示。

图4ADT安装

完成之后,选择Window > Preferences;在左边的面板选择

Android,然后在右侧点击Browse;并选中SDK路径,本机为;

D:\YJSH\Androi\android-sdk_r07

OK。配置完成。

3.5创建AVD

为使Android应用程序可以在模拟器上运行,必须创建

AVD,步骤如下:

在Eclipse中,选择Windows > Android SDK and AVD

Manager,点击左侧面板的Virtual Devices,再右侧点击New,填

入Name,选择Target的API,SD Card大小任意,Skin随便选,

Hardware目前保持默认值,点击Create AVD即可完成创建AVD。

4结束语

Android应用程序开发着眼于它的整个系统构架,是一项复

杂的工程。本文分析了Android系统架构和应用程序的构成,并

讨论了在Windows系统下Android开发环境的搭建,Android平

台本身大量使用开源库类,并且为开发人员提供了一个非常便捷

的开发环境。

参考文献:

[1]杨文志.Google Android程序设计指南[M].北京:电

子工业出版社,2009.

[2][美]ED d基础教程[M].北京:人

民邮电出版社,2009.

windows;点击Apply、

[3]王向辉,张国印,沈浩.Android应用程序开发[M].

北京:清华大学出版社,2010.

[4][美]SHANE CONDER,LAUREN d移动

应用开发从入门到精通[M].北京:人民邮电出版社,2010.

[5]姚昱旻,刘卫国.Android的架构与应用开发研究[J].

计算机系统应用,2008(11).

Development and Researh of Application Based

on Android Platform

Abstract:Android platform is a new generation smartphone

platform of papers discuss the system architecture,and

application form of Android platform,and described in detail

Android development environment to build in the Windows

system's.

Key Words: Google Android;Smartphone

Platform;Applications;Environment to Build


本文标签: 应用程序 系统 提供 开发 平台