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
版权声明:本文标题:基于Android平台的应用开发研究 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710133778a558896.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论