`
wc0903
  • 浏览: 80711 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

第四章 探索Android SDK

阅读更多

关键技能和概念

 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

 

  • 大小: 52.9 KB
  • 大小: 22.9 KB
  • 大小: 23.1 KB
  • 大小: 19.7 KB
  • 大小: 18.1 KB
  • 大小: 15.9 KB
  • 大小: 16.3 KB
  • 大小: 53.7 KB
3
0
分享到:
评论
1 楼 doylecnn 2010-02-22  
感谢您的翻译

相关推荐

    Android sdk 各版本离线安装包下载地址及方法(解决更新慢)

    Android sdk 在首次安装好后 要用SDK Manager.exe进行更新,因服务器在国外,下载经常断开及下载非常慢 ...第四步:打开SDK Manager.exe 选择你想要更新的项,此时不需要从官方下载文件,会直接列新到完成

    Google Android SDK开发范例大全(完整版第3版)

    第4章 史上超豪华的手机控件 第5章 交互式通信服务与手机控制 第6章 手机自动服务纪实 第7章 娱乐多媒体 第8章 当Android与Internet接轨 第9章 Google服务与Android完美整合 第10章 创意Android程序设计...

    Google Android SDK开发范例大全 电子书 完整版(上)

    Google Android SDK开发范例大全 开发范例大全 电子书 ebook。 文件较大,分两个部分,这个是第一部分。 第二部分链接:http://download.csdn.net/source/2610293 源代码:http://download.csdn.net/source/2609848

    Android SDK开发包国内官网下载地址.pdf

    tools_r20.0.3-linux.zip 78.8M 和第一个表里的"sdk"相比,只少了avd manager和sdk manager。 建议仅在需要升级时下载,用tools目录替换原来的同名目录。 官网 tools_r20.0.3-macosx.zip 55.5M 官网 tools_r20.0.3-...

    中文版Android程序员向导

    第四章 浏览Android SDK 第五章Android程序:Hello World! 第六章 使用命令行工具和Android模拟器 第七章 使用Intents 和电话拨号盘 第八章 列表,菜单和其它Views 第九章 使用手机的GPS功能 第十章 使用Google API...

    Google Android SDK开发范例大全 第四章- - 史上超豪华的手机控件

    Google Android SDK开发范例大全 第四章- - 史上超豪华的手机控件 初学者的最佳选择

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞——setOnKeyListener事件 4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox...

    中文版Android程序员向导.pdf

    第四章 浏览 Android SDK . 第五章 Android 程序: Hello World! 第六章 使用命令行工具和 Android 模拟器 第七章 使用 Intents 和电话拨号盘 第八章 列表,菜单和其它 Views 第九章 使用手机的 GPS 功能 . 第十章 ...

    《Google Android SDK开发范例大全(第3版)》.pdf

    第4章 史上超豪华的手机控件 84 4.1 edittext与textview共舞 85 4.2 设计具有背景图的按钮 86 4.3 给圣诞老人的信息 88 4.4 我同意条款 90 4.5 消费券采购列表 92 4.6 向左或向右 94 4.7 专业...

    解析Google Android SDK——智能手机开发范例手册.rar

    第4章 应用资源 第5章 数据存储 第6章 蓝牙 第7章 Android与Internet 第8章 Android搜索框架 第9章 安全和权限 第10章 应用小部件 第11章 Android常用程序开发 第12章 Google位置服务 第13章 最佳实践 第14章 共享...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞——setOnKeyListener事件 4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox...

    Google Android SDK开发范例大全(第3版) 4/5

    第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态...

    Google Android SDK开发范例大全(第3版) 3/5

    第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态...

    Google Android SDK开发范例大全(第3版) 5/5

    第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞——setOnKeyListener事件 4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox...

    Google Android SDK开发范例大全 源码

    第4章 史上超豪华的手机控件  第5章 交互式通信服务与手机控制  第6章 手机自动服务纪实  第7章 娱乐多媒体  第8章 当Android与Internet接轨  第9章 Google服务与Android混搭  第10章 创意Android程序...

    最详细的Android SDK下载安装及配置教程.pdf

    **第一步、安装JDK;** **第二步、安装Eclipse;** **第三步、下载并安装AndroidSDK;** **第四步、为Eclipse安装ADT插件**

    Google Android SDK开发范例大全(完整版)

    市场上第一款支持 Android 的手机是由 HTC 制造并由 T-Mobile 供应的 G1。这款设备从设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的 SDK 发行版。随着 G1 发行日的临近,Android 团队...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞——setOnKeyListener事件 4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——...

Global site tag (gtag.js) - Google Analytics