android平台基本资料.docx

上传人:b****8 文档编号:10127793 上传时间:2023-02-08 格式:DOCX 页数:15 大小:209.88KB
下载 相关 举报
android平台基本资料.docx_第1页
第1页 / 共15页
android平台基本资料.docx_第2页
第2页 / 共15页
android平台基本资料.docx_第3页
第3页 / 共15页
android平台基本资料.docx_第4页
第4页 / 共15页
android平台基本资料.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

android平台基本资料.docx

《android平台基本资料.docx》由会员分享,可在线阅读,更多相关《android平台基本资料.docx(15页珍藏版)》请在冰豆网上搜索。

android平台基本资料.docx

android平台基本资料

Android是一种基于Linux®V2.6内核的综合操作环境。

最初,Android的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。

但是,Android全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。

Android也可以用于其他的平台和应用程序。

在本文中,阅读对Android平台的简介,并学习如何编写基本的Android应用程序。

简介

黑莓和iPhone都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。

黑莓是企业业务用户的不二选择。

但是,作为一种消费设备,它在易用性和“新奇特性”方面难以和iPhone抗衡。

Android则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别

如今,很多基于网络或有网络支持的设备都运行某种Linux内核。

这是一种可靠的平台:

可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。

这些设备的UI通常是基于HTML的,可通过PC或Mac浏览器查看。

但并不是每个设备都需要通过一个常规的计算设备来控制。

想象一下传统的家用电器,例如电炉、微波炉或面包机。

如果您的家用电器由Android控制,并且有一个彩色触摸屏,会怎么样?

如果电炉上有一个AndroidUI,那么操控者甚至可以烹饪点什么东西。

在本文中,了解Android平台,以及如何将它用于移动和非移动应用程序。

安装AndroidSDK,并构建一个简单的应用程序。

本文中的示例应用程序的源代码。

Android简史

Android平台是OpenHandsetAlliance的成果,OpenHandsetAlliance组织由一群共同致力于构建更好的移动电话的公司组成。

这个组织由Google领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。

从软件开发的观点看,Android正处在开源领域的中心位置。

市场上第一款支持Android的手机是由HTC制造并由T-Mobile供应的G1。

这款设备从设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的SDK发行版。

随着G1发行日的临近,Android团队发布了SDKV1.0,用于这个新平台的应用程序也浮出水面。

为了鼓励创新,Google举办了两届“AndroidDeveloperChallenges”,为优胜的参赛作品提供数百万美金的奖励。

G1问世几个月之后,随后就发布了AndroidMarket,它使用户可以浏览应用程序,并且可以将应用程序直接下载到他们的手机上。

经过大约18个月,一个新的移动平台进入公众领域。

Android平台

Android有丰富的功能,因此很容易与桌面操作系统混淆。

Android是一个分层的环境,构建在Linux内核的基础上,它包括丰富的功能。

UI子系统包括:

∙窗口

∙视图

∙用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件

Android包括一个构建在WebKit基础上的可嵌入浏览器,iPhone的MobileSafari浏览器同样也是以WebKit为基础。

Android提供多种连接选项,包括WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如GPRS、EDGE和3G)。

Android应用程序中一项流行的技术是链接到Google地图,以便在应用程序中显示地址。

Android软件栈还提供对基于位置的服务(例如GPS)和加速计的支持,不过并不是所有的Android设备都配备了必需的硬件。

另外还有摄像支持。

过去,移动应用程序努力向桌面应用程序看齐的两个领域分别是图形/媒体和数据存储方法。

Android通过提供对2D和3D图形的内置支持,包括OpenGL库,解决了图形方面的挑战。

由于Android平台包括流行的开源SQLite数据库,因此缓解了数据存储的负担。

图1显示一个简化的Android软件层次结构。

图1.Android软件层次结构

应用程序架构

如前所述,Android运行在Linux内核上。

Android应用程序是用Java编程语言编写的,它们在一个虚拟机(VM)中运行。

需要注意的是,这个VM并非您想象中的JVM,而是DalvikVirtualMachine,这是一种开源技术。

每个Android应用程序都在DalvikVM的一个实例中运行,这个实例驻留在一个由Linux内核管理的进程中,如下图所示。

图2.DalvikVM

Android应用程序由一个或多个组件组成:

活动

具有可视UI的应用程序是用活动实现的。

当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。

服务

服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序。

内容提供程序

可以将内容提供程序看作数据库服务器。

内容提供程序的任务是管理对持久数据的访问,例如SQLite数据库。

如果应用程序非常简单,那么可能不需要创建内容提供程序。

如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供程序实现数据访问。

广播接收器

Android应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。

Android应用程序是连同一个AndroidManifest.xml文件一起部署到设备的。

AndroidManifest.xml包含必要的配置信息,以便将它适当地安装到设备。

它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。

例如,如果应用程序需要访问网络—例如为了下载一个文件—那么manifest文件中必须显式地列出该许可。

很多应用程序可能启用了这个特定的许可。

这种声明式安全性有助于减少恶意应用程序损害设备的可能性。

下一节讨论构建Android应用程序所需的开发环境。

所需的工具

开始开发Android应用程序的最简捷的方式是下载AndroidSDK和EclipseIDE(参见参考资料)。

Android开发可以在Microsoft®Windows®、MacOSX或Linux上进行。

本文假设您使用的是EclipseIDE和用于Eclipse的AndroidDeveloperTools插件。

Android应用程序是用Java语言编写的,但是是在DalvikVM(非Java虚拟机)中编译和执行的。

在Eclipse中用Java语言编程非常简单;Eclipse提供一个丰富的Java环境,包括上下文敏感帮助和代码提示。

Java代码通过编译后,AndroidDeveloperTools可确保适当地将它打包,包括AndroidManifest.xml文件。

虽然没有Eclipse和AndroidDeveloperTools插件也可以开发Android应用程序,但是那样就需要熟悉AndroidSDK。

AndroidSDK是作为一个ZIP文件发布的,可以将该文件解压到硬盘上的一个目录中。

由于有多个SDK更新,建议有意识地组织开发环境,以便在不同的SDK安装之间轻松地切换。

SDK包括:

android.jar

Java归档文件,其中包含构建应用程序所需的所有的AndroidSDK类。

documention.html和docs目录

本地和网上提供的SDK文档。

这些文档的主要形式为JavaDocs,以便于在SDK中导航大量的包。

文档还包括一个高级开发指南和Android社区的链接。

Samples目录

samples子目录包含各种应用程序的源代码,包括ApiDemo,该应用程序演示了很多API。

这个示例应用程序可以作为Android应用程序开发的良好起点。

Tools目录

包含所有用于构建Android应用程序的命令行工具。

最常用、最有用的工具是adb实用程序(AndroidDebugBridge)。

usb_driver

该目录包含将开发环境连接到支持Android的设备(例如G1或AndroidDev1解锁开发手机)所需的驱动程序。

只有Windows平台的开发人员才需要这些文件。

Android应用程序可以在实际的设备上运行,也可以在AndroidSDK附带的AndroidEmulator上运行。

图3显示AndroidEmulator的主屏幕。

图3.AndroidEmulator

AndroidDebugBridge

adb实用程序支持一些可选命令行参数,以提供强大的特性,例如复制文件到设备或从设备复制文件。

可以使用shell命令行参数连接到手机本身,并发送基本的shell命令。

图4显示在通过USB线连接到Windows笔记本电脑的一个实际设备上运行的adbshell命令。

图4.使用adbshell命令

在这个shell环境中,可以:

∙显示网络配置,网络配置可显示多个网络连接。

注意这多个网络连接:

olo是本地或loopback连接。

otiwlan0是WiFi连接,该连接由本地DHCP服务器提供一个地址。

∙显示PATH环境变量的内容。

∙执行su命令,以成为超级用户。

∙将目录改为/data/app,其中存放用户应用程序。

∙列出包含某个应用程序的目录。

Android应用程序文件实际上是归档文件,可通过WinZip之类的软件查看。

扩展名为apk。

∙发出ping命令,查看G是否可用。

从相同的命令提示符环境中,还可以与SQLite数据库交互,启动程序以及执行许多其他系统级任务。

想像一下您正在连接到电话,因此这是非常了不起的功能。

在下一节,您将创建一个简单的Android应用程序。

编写一个基本的应用程序

本节展示如何构建一个Android应用程序。

示例应用程序非常简单:

一个修改后的“HelloAndroid”应用程序。

您将进行一个微小的修改,使屏幕背景全部变为白色,以便把手机用作手电筒。

这个例子不是很有创意,但是可以作为一个有用的例子。

请下载完整的源代码。

为了在Eclipse中创建应用程序,选择File>New>Androidproject,这将启动NewAndroidProject向导。

图5.NewAndroidproject向导

接下来,创建一个简单的应用程序,该应用程序有一个活动,并且在main.xml中有一个UI布局。

布局包含一个文本元素,您将修改这个文本元素,以显示AndroidFlashLight。

下面的清单显示了这个简单的布局。

清单1.Flashlight布局

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

orientation="vertical"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

android:

background="@color/all_white">

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="@string/hello"android:

textColor="@color/all_black"

android:

gravity="center_horizontal"/>

在strings.xml中创建两个颜色资源。

清单2.strings.xml中的颜色

xmlversion="1.0"encoding="utf-8"?

>

AndroidFlashLight

FlashLight

#FFFFFF

#000000

主屏幕布局有一个定义为all_white的背景色。

在strings.xml文件中,可以看到all_white被定义为一个值为#FFFFFF的RGB三元组,即纯白。

布局包含一个TextView,这实际上是一块静态文本。

它是不可编辑的。

文本被设为黑色,并通过gravity属性设为水平居中。

该应用程序有一个名为FlashLight.java的Java源文件,如以下清单所示。

清单3.Flashlight.java

packagecom.msi.flashlight;

importandroid.app.Activity;

importandroid.os.Bundle;

publicclassFlashLightextendsActivity{

/**Calledwhentheactivityisfirstcreated.*/

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

}

该代码是直接来自NewProject向导的模板代码:

∙它是Java包com.msi.flashlight的一部分。

∙它有两个import:

o一个用于activity类

o一个用于bundle类

∙当该活动发起后,onCreate方法被调用,传入一个savedInstanceState。

对于我们来说,不必关心这个bundle。

只有在暂停然后恢复活动时才会用到。

∙onCreate方法覆盖了同名的activity类方法。

它调用超类的onCreate方法。

∙对setContentView()的调用将关联main.xml文件中定义的UI布局。

main.xml和strings.xml中的任何内容都自动映射到R.java源文件中定义的常量。

任何时候都不要直接编辑这个文件,因为它随着每次构建而改变。

运行该应用程序可以看到一个白色屏幕,其中有黑色文本。

图6.flashlight的白色屏幕

下面显示用于FlashLight应用程序的AndroidManifest.xml文件。

清单4.用于FlashLight的AndroidManifest.xml

xmlversion="1.0"encoding="utf-8"?

>

android="

package="com.msi.flashlight"

android:

versionCode="1"

android:

versionName="1.0.0">

icon="@drawable/icon"android:

label="@string/app_name">

name=".FlashLight"

android:

label="@string/app_name">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

该文件是由用于Eclipse的AndroidDeveloperTools插件自动创建的。

您不需要做任何事情。

当然,这个应用程序并不是很强大。

但是如果希望读点书,又不想打扰正在睡觉的爱人,或者如果需要在断电时去地下室查看保险丝盒,那么这个应用程序还是很方便的。

结束语

在本文中,您阅读了对Android的简介,并构建了一个小型的应用程序。

希望本文中的例子能激起您进一步探索Android平台的兴趣。

Android有望成为对市场产生深远影响的开源平台,它的用处将远远超越移动电话。

下载

描述

名字

大小

下载方法

FlashLight源代码

os-android-devel-FlashLight.zip

22KB

HTTP

关于下载方法的信息

参考资料

学习

∙TheOpenHandsetAlliance是一个由47家技术和移动公司组成的组织,这些公司共同致力于加快移动领域的创新,并提供更丰富、更廉价、更好的移动体验。

他们一起开发了Android,这是第一个完整的、开放的、免费的移动平台。

∙Android开发人员站点提供了文档、下载、日志等。

∙了解更多关于DalvikVirtualMachine的信息。

∙观看YouTube上深入讨论DalvikVM的教程。

∙UnlockingAndroid:

ADeveloper'sGuide提供了Android操作系统和开发工具的简明、实用的说明。

∙要收听有关软件开发人员的有趣访谈和讨论,请浏览developerWorkspodcasts。

∙随时关注developerWorks技术活动和网络广播。

∙追随developerWorksonTwitter。

∙查阅最近将在全球举办的面向IBM开放源码开发人员的研讨会、交易展览、网络广播和其他活动。

∙访问developerWorks开放源码专区,获得丰富的how-to信息、工具和项目更新,帮助您用开放源码技术进行开发,并与IBM产品结合使用。

∙查看免费的developerWorks演示中心,观看并了解IBM及开源技术和产品功能。

获得产品和技术

∙下载AndroidSDK。

∙获得最新的EclipseIDE。

∙使用IBM试用软件改进您的下一个开发项目,这些软件可以通过下载获得。

∙下载IBM产品评估版,或者在IBMSOASandbox中进行在线试用,获得来自DB2®、Lotus®、Rational®、Tivoli®和WebSphere®的应用程序开发工具和中间件产品。

讨论

∙参与developerWorksblogs并加入developerWorks社区。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1