(六)分析Android SDK(A1-我的翻译-android) - 岳峰--专注移动互...

来源:百度文库 编辑:神马文学网 时间:2024/04/30 00:58:44
分析Android SDK
关键技能与理念
● 使用AndroidSDK文档
● 使用Android的SDK工具
● 使用示例应用程序
● 学习的生命周期的一个Android应用
现在您已经建立您的开发环境,本章开始探讨Android的SDK ,其中包含多个文件和工具,特别是旨在帮助您设计和开发上运行的应用Android平台。这些精心设计的工具,可以帮助您做出一些另人难以置信的应用程序。在这之前您首先需要熟悉Android SDK和它的工具,然后再开始编程序。
Android SDK还包含类库,您的应用程序捆绑核心Android的功能,比如如手机功能(拨打和接听电话) , GPS功能,和文本信息。 这些类库弥补核心的SDK和将是您使用最频繁,因此花些时间了解所有这些核心库。
本章涵盖了所有包含在Android SDK的重要的内容。
警告
我不会去关注Android SDK每一个细节。 为了避免风险,花太多时间讨论如何工作的事情而不是向您展示他们是如何工作的,我试图把这个讨论尽量简短。本人只包括最重要的议题和项目,让你可以自由探索其他更深入。
什么是Android的SDK ?
AndroidSDK是下载得一个简单的压缩包(第3章描述的 ) 。大部分AndroidSDK的,在一些文件,包括文件,编程用到得API ,工具和样例。 本节提供了一个比较详细得内容,看看到底Android的SDK里有什么 。
忠告
第三章建议,你的AndroidSDK中提取的Program Files文件夹,这样就较容易进行跟踪。如果您无法找到您所使用的SDK ,因为默认提取设置,应当在以下文件夹中: /%downloadfolder%/android-sdk_m5-rc14_windows/android-sdk_m5-rc14_windows.
转到所在的文件夹解压Android的SDK ,以便您可以开始探索内的文件夹结构。虽然有几个文件的根文件夹,如android.jar (编译Java应用程序的SDK包含的核心库和API )和一些版本说明,其余的AndroidSDK是分为三个主要文件夹:
文件包含所有的文件所附的Android
许多文件中Docs文件夹也可以找到的 http://code.google.com/android Android development site.
● Samples 包含6个样本应用程序,您可以编译和测试范围内的Eclipse
● Tools 包含所有的开发,汇编和调试工具,你需要在整个开发过程中的一个Android应用
以下各节讨论一些更详细的内容包括在每一个SDK的文件夹。每个API的演示编译和运行,说明Android的能力。许多工具进行了讨论,并表明在以后的章节为您了解如何创建和编译应用程序的命令行选项的Microsoft Windows和Linux操作系统。
Android文档
Android 文档 位于Docs文件夹内的SDK Android在 ../%sdk folder%/DOCS. 的 文档 ,提供的SDK包含步骤下载和安装的SDK , “入门”的快速开发应用程序的步骤,并包的定义。该文件是HTML格式,可尽管documentation.html文件的根目录中的SDK文件夹。下面的插图描绘的主网页AndroidSDK文档。

您可以浏览到的所有 文档 中包含AndroidSDK的使用联系documentation.html 。
在与Android的SDK ,我发现有部分的 文档 ,我指的是比较有价值得。对于我来说,最有价值的部分AndroidSDK文档如下(因为它们显示在导航栏) :
● 参考信息
● 类索引
● 列表的权限
● 资源类型列表
● FAQs
● 故障
疑难解答的文档将特别有益,因为你正刚刚开始。正如你通过这本书的进展,并开始开发自己的Android应用,你会发现,在提到信息部分文件更有帮助。例如,虽然它不会有什么不使用你现在,清单款的权限将是非常有益的进展时,你的部分图书,处理创造更为复杂的应用。 需要一些时间来熟悉一下AndroidSDK 文档 和数百个 文档 ,已为您提供。
Android Samples
Samples 目录, ../%sdk folder%/SAMPLES, 包含6个样本应用程序,显示了Android部分可以做到得功能:
● API Demos
● Hello, Activity!
● Lunar Lander
● Note Pad
● Skeleton App
● Snake
这些示例是谷歌提供得官方应用程序,让您快速学习如何开发Android应用。每个示例应用程序显示一个不同的一块Android的功能。 您可以打开并运行这些应用程序从Eclipse。以下是简要说明每个应用。
API Demos
演示应用程序是一个主机应用程序,这表明多API函数在一个单一的活动。
忠告
一项活动是一个Android的应用。活动包括在更深入地在以下的章节。
演示应用程序,如下面的例子,包含多个,规模较小的,例如不同的Android功能:

一些应用程序的API中包含演示样本包括3 - D图像转换,清单和进度对话框和手指画演示。
试试这个运行的API演示示例应用程序
使用Eclipse的,负载的API演示应用作为一种新的Android项目。要做到这一点,选择文件|新建|项目由Eclipse的菜单栏;一种新型 Android项目向导打开。不必担心选择在这个向导现在。只需选择创建项目从现有源和浏览到该文件夹的API演示应用它。当该项目被加载,选择运行看到它执行在Android模拟器。
浏览您的方式通过40多个不同的应用程序。使用每个应用熟悉的术语和功能的每一个API的工具,它证明了这一点。
Hello, Activity!
Hello, Activity!显示在下面的例子,是一个简单的世界您好!式应用。虽然简单的设计, Hello, Activity!不搞好炫耀的能力的平台。 您将创建自己的世界您好!风格的应用程序在下一章。

Lunar Lander
月球着陆,显示未来,是一个小游戏,扮演的Android模拟器。月球着陆说明一个简单的2维游戏工程Android。控件相当简单,游戏是不是很复杂。但是,由于这些缺点, 这是下一个伟大的游戏的起点。

月球着陆实现了一个简单的控制策略(上,下,左,右) 。游戏还显示相对流体图形,并期待令人印象深刻鉴于平台。复杂的博弈理论,如碰撞检测中使用的一个简单的方法。虽然这本书不涉及游戏编程的Android平台,如果您有兴趣这样做的时候,您可能想看看月球着陆的一些秘诀。
Note Pad
记事本,所显示的说明之后,您可以打开,创建和编辑的小注。记事本不是一个全功能的文字编辑器,所以不要指望它成为一些竞争对手的Word为Windows Mobile 。但是, 它很好的示范工具来查看什么是可能的,以相对较少的代码。

Skeleton App
这是更多的基础应用,证明了几个不同的应用功能,如字体,按钮,图像和表格。如果你要运行框架应用程序本身, 你真的不会太多 了。您将得到更好的服务提到框架应用作为一种资源的如何执行的具体项目。

Snake
最后演示包含的AndroidSDK是贪食得蛇。这是一个小游戏,并且是 远远比简单的月球着陆还要非常流行的游戏。 此图显示什么蛇看起来运行时。

便条
如果您浏览到本地的每一个文件夹中的示例应用程序,您会看到一个文件夹命名为src中。这是源代码文件夹中的示例应用程序提供。您可以用它来查看,修改,并重新编译代码的任何应用。 利用这个源代码,以学习一些技巧和窍门Android平台。
Android Tools
Android的SDK产品开发了一些功能强大的和有用的工具。在这本书,您将使用只有少数他们直接联系。本节就让我们来看看在短短的这些工具, 这将在更深入地在以下的章节,当你潜入命令行的开发。
便条
欲了解更多详细信息的其他工具包括在Android的SDK ,Androiddoc档案。
emulator.exe
或许一个最重要的工具,包括在AndroidSDK是emulator.exe 。 emulator.exe执行Android模拟器。Android模拟器用于运行您的应用程序在一个伪人造环境。鉴于此,为撰写本书,但没有硬件设备尚未发布的Android平台, emulator.exe将是您的唯一手段的测试应用的“本土化”的平台。
您可以运行emulator.exe从命令行或执行它从Eclipse。在这本书,您通常让Eclipse的发射Android模拟器环境为您。为您提供所有您需要的信息,以计划与Android的Eclipse SDK的以外,第6章涉及的命令行使用emulator.exe当您建立世界您好!应用。
当使用Android模拟器来测试您的应用程序,你有两个选择浏览的用户界面。首先,模拟器带有可用按钮,如图4-1 。 您可以使用这些按钮来浏览Android和任何应用程序,您开发的平台。
忠告
电源开/关,音量和降低音量按钮稍微隐藏在双方的虚拟设备。他们认同自己当您将鼠标指针悬停在他们。

图4-1导航与Android模拟器
鉴于许多高端手机现在还包括一个触摸屏,第二次输入时,您有选择使用模拟器是一种模拟触摸屏。您使用鼠标的手写笔。 上的物体在模拟器的屏幕上可以互动使用鼠标。
adb.exe
另一种工具,将成为非常有用时,你正在使用的命令行编程Android调试大桥( adb.exe ) 。这个工具可让您的问题 命令到Emulator.exe工具。当您在命令行环境中,亚行工具可让您做到以下几点:
● 启动和停止服务器
● 安装和卸载应用程序
● 移动文件和到模拟器
MKSDCARD.exe
MKSDCARD.exe是一个非常有用的工具,如果您正在测试的应用程序将需要读取或写入文件,或从一个SD记忆卡插入到移动设备。 MKSDCARD.exe创建一个小分区的驱动器在您的驱动器,将举行并保留测试文件。模拟器将对此分区像一个SD记忆卡。
DX.exe
DX.exe是编译器的Android的SDK 。运行时,对你的Java文件, DX.exe将建立档案。指数扩展, Dalvik可执行格式。这些文件是在正确的格式可以理解的,并且运行于一个Android装置。
便签
Android可执行文件被称为Dalvik可执行文件作为参考的Dalvik虚拟机的Android用于运行的所有应用程序。 Dalvik虚拟机的运行每个应用程序在其自己的线程具有相同的优先权为核心的Android应用。
activityCreator(.bat or .pn)
activityCreator 是一个简单的命令行工具,用于建立一个基本的开发环境。运行时的命令行, activityCreator会成立的shell文件需要建立一个基本的Android应用。在这些shell文件是特别有用如果您不使用的Eclipse 。AndroidPlugin的Eclipse设立这些shell文件为您activityCreator当您创建一个新项目。
根据什么样的环境,您运行的是,您会看到activityCreator代表不同类型的脚本文件。如果您是在Windows环境下,这将是一个。 bat档,否则这将是一个python脚本。 您只需执行脚本,而这又需要实际activityCreator进程与正确的参数。
APIs
应用程序编程接口,核心是Android的SDK 。一个API是一个集功能,方法,属性,类别,以及类库所使用的应用程序开发人员能够创建的工作平台。 Android的API中包含的所有具体信息,您需要创建应用程序,可以工作和互动的Android为基础的应用程序。
Android SDK还包含两个补充规定的API ,该API和谷歌的任择的API 。以后各章将集中更多的这些API当您开始书面申请,利用它们。 现在,快速看看它们包括使您熟悉其用途。
Google APIs
在谷歌的API中包含的AndroidSDK和包含编程参考,让您以配合您的应用程序融入到现有的谷歌服务。 如果你正在写一个Android的应用,并希望让用户访问谷歌服务,通过您的应用程序,你需要包括谷歌的API 。
位于android.jar文件,谷歌API是包含在com.google .*封装。有相当多的包,而且还包含了谷歌的API 。一些包装出货,包括谷歌API的图形, 可移植性,联系人和日历工具。然而,包用于将谷歌地图的主要重点在这本书。
使用com.google.android.maps包,其中包含的信息谷歌地图,您可以创建互动的应用程序无缝地与已经熟悉的界面的谷歌地图。 这一套软件包打开了整个世界的有用的应用只是等待被创建。
在谷歌API还包含了一套有用的软件包,使您可以充分利用新的可扩展消息处理现场协议( XMPP协议)所开发的Jabber开源社区。通过XMPP协议,应用程序可以快速地了解其他客户的存在和有效性的目的是信息和通信。空气污染指数的软件包处理XMPP协议是非常有益的,如果你想创建一个“聊天”式的程序,利用手机短信功能。
Optional APIs
AndroidSDK包含了一些可选的API ,涵盖的功能不包括在标准Android的API 。这些可选的API是可选的,因为它们处理功能,可能会或可能不会存在于一个特定的手机设备。这就是说,某些设备建立Android平台可能包括升级和功能,其他人没有;任择的API包括您的编程选项时试图利用这些功能,在您的 Android应用。
其中的一个可选功能是一个手机的全球定位系统。Android的LBS (基于位置的服务)的API处理所需的功能,以接受和使用信息设备的全球定位系统。 ( 信息与Android的LBS的API ,在谷歌地图API ,你可能有一个非常有用的应用程序,可以自动显示地图下您的位置在任何特定的时间点。 )
其他可选的API包括那些利用蓝牙, Wi - Fi ,玩MP3歌曲,并获得3名D - OpenGL的实现硬件。
Application Life Cycle
如果你有一个有经验得应用开发人员,您应该非常熟悉应用生命周期 的概念。一个应用程序生命周期包含的步骤,该应用程序的进程必须遵循由执行终止。每项申请,不论是书面语言中,有一个具体的生命周期,以及Android的应用是没有例外。 本节审查整个生命周期的ASP应用程序和比较,为一个Android应用的生命周期。
Standard ASP Application Life Cycle
整个生命周期的一个标准的ASP应用程序本身也到了Android的应用,使这个良好的比较。 ASP应用程序的步骤,通过五个不同的程序,从执行到处置。 这些步骤是必须执行的所有ASP应用程序,真正界定什么是ASP应用程序。的步骤,依次是
1. Application_Start
2. Event
3. HTTPApplication.Init
4. Disposal
5. Application_End
忠告
一些ASP参考资料考虑处置和Application_End要一步一步的生命周期。然而,处置要求可拦截前,传递给Application_End 。 这可以让应用程序来执行特定的功能之前,它实际上是被摧毁。
Application_Start称为申请时,还要求该服务器。这一过程又导致进入事件过程。当所有相关的应用模块,加载, HTTPApplication.Init被称为。申请执行的事件,当用户试图关闭它,处置被称为。处置然后通过处理的Application_End进程,关闭应用程序。
这是一个相当标准的应用程序生命周期。大多数应用程序遵循类似的生命周期:一个应用程序的创建,加载,有活动,并摧毁。下面一节演示了如何与之相比,Android应用软件生命周期。
Android Application Life Cycle
Android 应用软件生命周期中是独一无二的,该系统控制的大部分生命周期中的应用。所有Android的应用,或活动,都是在他们自己的进程。所有正在运行的进程的关注和Android, 取决于该项活动正在运行(这是一个前端的活动,后台活动,等等) ,Android可以选择的活动结束时收回所需的资源。
忠告
在决定一项活动是否应该关闭,Android考虑到多种因素,如用户输入,内存使用情况,以及处理时间。
一些具体的方法要求在整个生命周期的一个Android活动
● onCreate
● onStart
● Process-specific events (for example: launching activities or accessing a database)
● onStop
● onDestroy
按照同一逻辑的其他应用的生命周期,一个Android的应用是建立,开始的过程,活动执行过程停止,申请被摧毁。 虽然有一些分歧,许多应用软件开发商应舒适的步骤,生命周期。