关键技能和概念

l 使用Android SDK文档

l 使用Android SDK工具

l 使用应用范例

l 了解Android应用的生命周期

由于你已经搭建好了开发环境,你就可以探索Android SDK,它包含众多文件和特定的工具,可以帮助你设计和开发运行在Android平台上的应用。这些工具经过精心设计,能够帮你生成一些难以置信的应用。在开始编程之前,你需要熟悉Android SDK和它的工具。

Android SDK也包含了能将你的应用与Android核心特性绑定的库,例如绑定通话功能(接打电话),GPS功能,短信通知。这些库组成了核心的SDK,他们将会是你最常用的功能,所以要花点时间去了解全部的核心库。

本章涵盖了Android SDK拥有的全部重要的项。在本章结尾,在你熟悉了Android SDK之后,你会很轻松地编写应用。然而,正如所有问题一样,要想深入到定律的应用,你必须熟悉它的内容和说明。

Android SDK是什么?

Android SDKzip压缩包的格式下载(如第三章描述的一样)。Android SDK主要是大量的文件,包含文档、编程API、工具,其余由示例组成。这一节提供了对Android SDK的近距离详观。

浏览你解压Android SDK的文件夹,借此你可以研究内部的文件夹结构。虽然根目录下的文件很少,如android.jar(编译后的Java应用,它包含了核心的SDK库和API)和一些发布的注解,Android SDK的剩余部分分成了三个主文件夹:

l DOCS 包括全部附带的Android文档

l Samples 包括六个你可以通过Eclipse编译和测试的示例应用

l Tools 包括全部开发、编译和调试工具,在开发Android应用的整个过程中你都需要他们

下一节会更详细一点地介绍每个SDK文件夹中包含的内容。为了阐明Android的功能,每一个API demo都可以编译和运行。以后的章节中许多工具都会为你讲解和演示,让你明白如何力图用Microsoft WindowsLinux自带的命令行选项创建和编译应用。

Android 文档

Android文档在Android SDKDocs文件夹内,位置是../%sdk folder%/DOCS。文档包括下载和安装SDK的步骤,应用开发“快速入门”,包定义。文档是HTML格式的,在SDK的根目录能通过documenation.html文件访问。以下插图描述了Android SDK文档的主页。

你可以通过documentition.html页面上的链接访问Android SDK的所有文档。

使用Android SDK的时候,我发现文档的部分章节,我求助的机率要比其它多。对我来说Android SDK文档最有价值的片段如下(如导航条中所示):

l 参考信息

l Class索引

l 权限列表

l 资源类型列表

l FAQ

l 疑难解答

文档的疑难解答部分对你的起步特别有用。当你读透了这本书开始开发你的Android应用时,你会发现文档的参考信息部分非常有用。例如,虽然目前它对你来说可能毫无用处,但当你读完本书的创建复杂应用的部分,权限列表部分仍然对你非常有用。花点时间熟悉Android SDK文档和提供的数不尽的文件。

Android 示例

示例文件夹位于../%sdk folder%/SAMPLES,它包含了六个示例应用,横向展示了Android功能:

l API Demos

l Hello, Activity!

l Lunar Lander

l Chapter 4: Exploring the Android SDK 39

l Note Pad

l Skeleton App

l Snake

Google提供的这些示例应用能让你快速了解如何开发Android应用程序。每个示例都展示了不同的Android功能部分。你通过Eclipse可以打开并运行这些应用,下面是对各部分的简要描述。

API Demos

API Demos应用是在一个Activity中演示复杂的API功能的主应用程序。

API Demos应用,如下所示,包含了复杂的,小巧的,不同的Android功能示例:

API Demos中的一些应用包括3D图形转换,列表和进度对话框,以及触摸演示。

运行API Demos的应用示例:

利用Eclipse,将API Demos应用装载到一个新的Android项目。在Eclipse主菜中选择File | New | Project;即可打开一个新Android项目向导。不要为向导中的选项发愁。仅仅选择 Create Project From Existing Source,浏览API示例应用文件夹。当项目装载后,选择运行,看它如何在Android模拟器中运行。

浏览40多种应用,使用每个功能以此熟悉每个API工具的术语和功能。

Hello, Activity

Hello, Activity!应用,如下所示,是个简单的Hello World!风格的应用。虽然设计简单,Hello, Activity!却很好地展示了平台的功能。下一章你就可以创建自己的Hello World!风格的应用。

Lunar Lander

Lunar Lander,如下,是在Android模拟器上玩的小游戏。Lunar Lander展示了2D游戏如何在Android上工作的。操作简单,游戏也不复杂。虽然有这些缺憾,但是它却是一个很不错的开发入门游戏。

Lunar Lander现实了简单的控制方案(上、下、左、右)。游戏还显示了相对流体的图形设计,让人们对平台充满了期待。复杂的游戏理念如碰撞检测也简单地实现了。虽然本书不包括Android平台的游戏编程,但如果你对它感兴趣,你也许会从Lunar Lander中受到启发。

Note Pad

Note Pad,如下所示,允许你打开、创建、编辑小的记事本。Note Pad并不是一个全功能的文本编辑器,所以不要期望和Windows Mobile中的Word相似。然而它比较适合作为拥有少量代码量的展示工具。

Skeleton App

Skeleton App,如下所示,是个应用框架。它不仅仅是一个基础应用,还提供了一组不同的应用特性,如字体,按钮,图片,表单。如果你将Skeleton App晾一边,你可能获益很少。借助Skeleton App资源你可以很轻松的实施具体的项目。

Snake

Android SDK中最一个demo是贪吃蛇。这是一个小巧的SNAFU式的游戏,它比Lunar Lander还要简单。下面的截图展示了Snake运行时的外观。

Android工具

Android SDK为开发者提供了大量强大而且有用的工具。但纵贯全书,你也仅会接触到一小撮而已。本章节会带你浏览其中的一小部分,如果你到了命令行编程的程度,以后的章节中还会为你深入讲解。

emulater.exe

可以说,Android SDK中最重要的工具莫过于emulator.exeemulator.exe能启动Android模拟器。Android模拟器用来在虚拟的Android环境下,运行你的应用程序。鉴于在写本书时还没有发布基于Android平台的硬件设备,所以emulator.exe将是你在“本土”平台测试应用程序的唯一途径。

你可以通过命令行运行emulator.exe或者通过Eclipse执行。本书中,一直通过Eclipse为你启动Android模拟器环境。然而,为了给你提供脱离Eclipse利用Android SDK编程的所有信息,当你创建你的Hello World!应用时,第六章会介绍emulator.exe的命令行的用法。

当利用Android模拟器进行应用测试时,你有两种浏览用户界面的方式。首先,emulator自带了有用的按钮,如图4-1所示,你可以利用这些按钮浏览Android和你开发的任何应用。

4-1 Android模拟导航

由于目前许多高端手机带有触碰,当使用模拟器时你就有第二输入方式,即模拟触屏。把你的鼠标当做一支笔,就可以利用鼠标与模拟器屏幕上的对象互动。

adb.exe

当你利用命令行编程时,另一个很有用的工具就是Android调试桥接器或者叫adbadb.exe),该工具允许你向Emulator.exe工具发送指令。当你使用命令行环境时,adb工具允许你:

l 启停服务器

l 安装与卸载应用

l 与模拟器传输文件

MKDCARD.exe

如果你需要测试在嵌入到移动设备中的SD存储卡上读写文件的应用,MKDCARD.exe会非常有用。MKDCARD.exe在你的驱动器上创建一个小分区,来保存测试文件。模拟器会把该分区当做是SD存储卡。

DX.exe

DX.exeAndroid SDK的编译器。如果java文件出现冲突,DX.exe会生成.dex后缀的文件——即达尔维克可执行文件格式。这些文件能以正确的格式被Android设备解析和运行。

activityCreator.bat or . pn

activityCreator是个用来安装基础开发环境的简单的命令行工具。当从命令行启动时,activityCreator会安装哪些创建android应用所需的shell文件。如果你没用Eclipse,这些shell文件会特别有用。当你创建新工程时,EclipseAndroid插件会通过响应activityCreator为你安装这些shell文件。

你看到的activityCreator会以何种不同类型的脚本文件出现,取决于你运行的环境。如果是Windows环境,会是一个.bat文件,否则会使一个Python(.pn)脚本。你只需执行脚本,它就以正确的参数会唤醒activityCreator进程。

API

API,或者说应用编程接口,是Android SDK的核心。一个API就是一个功能、方法、属性、类和库的集合,应用开发者用他们来创建运行在具体平台上的程序。Android API包括你创建能与基于Android的应用交互的应用程序时,需要的所有具体信息。

Android API也包含了的两项补充的API集——Google APIOptional API。随后的章节中,当你利用他们编写应用时,还会重点介绍这些API。现在,浏览一下他们的内容,了解一下他们的功用。

Google API

Android API中包含了Google API,包括将你的应用与Google服务绑定的编程指导。如果你编写了一个Android应用,并且想让用户通过你的应用访问Google服务,那么你需要引入Google API

Google API位于在android.jar文件的com.google.*包中,其中仅有少量的包。集成到Google API中的一些包,包括图形、可移植性、联络和日历工具。然而Google Maps用到的包会是本书关注的重点。

利用包含Google Maps信息的com.google.android.maps 包,你可以创建与熟悉的GoogleMaps接口无缝交互的应用。这个包集为你打开了等着你去创建的可用应用的世界。

Google API还包含一组有用的包,允许你利用Jabber开源社区的可扩展消息处理现场协议(XMPP)进行开发。利用XMPP,应用能快速识别其它客户端,实现通信的目的。如果你想利用手机短信功能创建一个聊天式的程序,该处理XMPPAPI软件包非常有用。

Optional API

Android SDK拥有大量的Optional API,它涵盖了标准Android API没有涉及的功能。这些Optional API是可选的,因为他们提供的功能在特定的硬件设备上不一定需要。也就是说,一些适用Android平台的设备可能包含其它设备没有的升级和特性。当你在Android应用中适用这些特性时,Optional API包括在你的编程选项中。

其中一个可选特性(本书后面你会用到)是基于手机的GPSAndroid LBS(基于位置的服务)API处理那些需要接收和使用来自设备的GPS单元的信息的功能。(将这些在Android LBS API中的信息和Google Maps API连接起来,你就可以拥有非常有用的应用,它能及时地自动显示你所处的位置。)

其它Optional API,如使用蓝牙、Wi-Fi,播放Mp3和访问3DOpenGL启用硬件。

应用的生命周期

如果你是一个经验丰富的应用开发者,你就了解应用生命周期的概念。一个应用的生命周期包含了应用进行必须遵从的从执行到终止的步骤。无论是何种语言编写的引用,都有一个特定的生命周期,Android应用也不例外。本节研究一个ASP应用的生命周期,借此和Android应用的生命周期进行比较。

标准ASP应用的生命周期

标准ASP应用的生命周期和Android应用的生命周期非常相似,便以作对比。ASP应用由始至终,需要五个严格的过程。这五个步骤全部需要ASP应用来实现,并且定义何是ASP应用。这些步骤按顺序是:

1. Application_Start

2. Event

3. HTTPApplication.Init

4. Disposal

5. Application_End

Application_Start在服务器端被请求时响应。该进程然后指向Event进程。当所有相关联的应用模块都被装载,就会响应HTTPApplication.Init。该应用执行事件,当用户试图关闭时,响应DisposeDispose然后将进程传递到Application_End进程,来关闭应用。

这是非常标准的应用生命周期。大多数应用都有相似的生命周期:创建应用,装载,响应事件,和销毁。下面一节说明如何与Android应用的生命周期做比较。

Android应用的生命周期

由于的许多应用的生命周期被系统控制的,Android应用的生命周期就独一无二了。所有Android应用,或者活动都运行在自己的进程中。所有运行的进程被Android监控,取决于活动的运行状况(也就是说,一个前台活动,后台活动,仅此而已),Android可能会为了释放必须的资源而终止活动。

Android活动的生命周期中,响应的个别方法有:

onCreate

onStart

Process-specific events (例如,启动活动和访问数据库)

onStop

onDestroy

如同其它应用的生命周期的思路,一个Android被创建,启动进程,触发事件,终止进程,销毁应用。尽管有一点儿不同,许多应用开发者都会适应生命周期中的这些步骤。

专家答疑

问:Google是否更新了Android SDK

答:是的,从我写这本书开始,Google就已经更新了三次Android SDKGoogle也将在Android网站上发布可用的更新。

问:部分API Demo是否就是将在最终产品中发布的应用

答:不一定!建立API Demo是为了展示产品的功能。虽然API Demo中可能包含了核心的发布应用,我们也不能肯定就能在最终版本中看到Lunar Lander

更多相关文章

  1. android之Activity基本跳转
  2. ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用
  3. [转载]Android实现更换皮肤功能
  4. APK反编译软件以及方法
  5. Android热修复之Tinker
  6. Android数据库的操作之存储和获取
  7. Android逆向之旅---解析编译之后的AndroidManifest文件格式
  8. 网络配置 - 定制APN
  9. 收藏老罗的----------Android应用程序组件Content Provider简要

随机推荐

  1. 每一位Android开发者应该知道的Android体
  2. 【安全】Android(安卓)O 中的 Seccomp 过
  3. Android预优化那些事
  4. 【Android(安卓)文件管理】分区存储 ( 修
  5. Unity和Android交互笔记——接入Android(
  6. Android一日游
  7. Android(安卓)控件布局常用属性
  8. Android(安卓)鲜为人知的 8 个小秘密
  9. [Android]Android部分基础学习路线图
  10. android企业级商城源码、360°全景图VR源