`
wc0903
  • 浏览: 81936 次
  • 性别: 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-33

    "android-33" 指的是 Android SDK 的一个特定版本,代表了 Android 操作系统的第 33 版本。这个版本可能对应着某个特定的 Android API 级别,例如 Android 13。在 Android 开发中,API 级别是衡量操作系统版本的关键...

    Android SDK (SDK Platforms)-android-31.zip

    Android SDK (SDK Platforms)-android-31.zip 是一个包含了Android操作系统第31版本(即Android 12)的开发工具包。这个压缩包是开发者在构建、测试和调试针对Android 12应用时必不可少的资源。以下是关于Android ...

    Android SDK (SDK Platforms)-android-32.zip

    Android SDK (SDK Platforms)-android-32.zip 是一个包含了Android操作系统第32版本(也称为Android 13)平台开发工具的压缩包。这个压缩文件是Android开发者在构建、测试和调试针对Android 13应用时所必需的核心...

    Android SDK (SDK Platforms)-android-34.zip

    Android SDK (SDK Platforms)-android-34.zip 是一个包含了Android操作系统第34版本(也称为Android 13)开发所需平台工具的压缩包。这个压缩文件对于开发者来说至关重要,因为它提供了构建、测试和调试Android应用...

    Android SDK (SDK Platforms)-android-19.zip

    4. 使用Android SDK开发: 开发者首先需要下载并安装Android SDK,然后在Android Studio或Eclipse等集成开发环境中配置SDK路径。在项目设置中,选择目标API级别为19,这将确保应用兼容Android 4.4设备。使用SDK ...

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

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

    Android SDK (SDK Platforms)-android-26.zip

    Android SDK (SDK Platforms)-android-26.zip 是一个包含了Android开发所需的重要组件的压缩包,主要针对Android操作系统版本26,也称为Android Oreo(8.0)。这个压缩包是开发者构建、测试和调试Android应用的基础...

    Android SDK Tools 26.1.1

    4. **支持库**: 更新的SDK Tools可能包含了最新的Android支持库,这些库提供了对旧版本Android系统的API支持,使得开发者可以使用最新API而不用担心兼容性问题。 5. **更新的协议**: 为了保持与Google Play服务的...

    Android SDK tools 26.0.2

    4. **Android Studio集成**:26.0.2版的SDK Tools与Android Studio IDE有良好的兼容性,确保开发者在使用最新版本的IDE时,能充分利用所有工具的功能。 接下来,我们来看看27.0.3版本的变化。此版本主要是对26.0.2...

    android-环境搭配问题-运行android sdk manager时出现错误问题解决方法

    在Android开发过程中,环境搭建是第一步,也是至关重要的一步。本文将详细讲解如何解决在运行Android SDK Manager时遇到的问题,确保开发者能够顺利进行Android应用的开发工作。 标题中提到的"环境搭配问题"通常指...

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

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

    Delphi Android 调用 百度地图AndroidSDK,非WebSDK

    在本文中,我们将深入探讨如何在Delphi Android应用程序中调用百度地图的Android SDK,而非使用Web SDK。这个过程涉及到Android编程、API集成以及Delphi的FireMonkey框架。首先,让我们了解一下Delphi和Android SDK...

    android sdk 30

    Android SDK 30是Google为Android操作系统推出的第30个版本的软件开发工具包(SDK)。这个版本对应的是Android 11,一个重要的系统更新,带来了多项改进和新功能,以提升用户隐私、设备性能以及开发者体验。Android ...

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

    4. **Android SDK Tools**:包含了一系列命令行工具,如`adb`(Android Debug Bridge)用于设备管理,`ddms`(Dalvik Debug Monitor Service)用于内存和性能监控。 5. **Android SDK Platform Tools**:包含与特定...

    Android SDK tools 25.0.3

    **Android SDK Tools 25.0.3** 是Android开发者必备的一个组件,它包含了用于构建、调试和优化Android应用程序的一系列工具。这个版本是SDK工具的特定更新,它提供了对Android开发过程中的各种功能和改进。 在...

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

    《Android SDK开发范例大全(完整版)》是一本涵盖了Android SDK开发的全面教程,旨在帮助开发者深入理解和熟练掌握Android应用程序开发的各种技术和实践。这本书包含了大量详尽的实例,覆盖了从基础到高级的各个层面...

    android sdk ---SDK Readme

    本SDK存档最初仅包含基本的SDK工具,并不包含任何Android平台或第三方库。实际上,它甚至没有提供所有用于开发应用程序所需的工具。为了开始开发应用程序,您必须通过SDK Manager安装平台工具(Platform-tools)和...

    android sdk 离线下载地址及对应映射关系

    Android SDK的离线下载地址可以从官方或者第三方网站获取,如Android开源项目(AOSP)的Git仓库,或者一些开发者分享的资源站点。 "repository-5.xml"和"repository.xml"是Android SDK Manager使用的文件,它们包含了...

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

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

    uniapp调用原生Android SDK

    【uniapp调用原生Android SDK】和【uniapp调用原生IOS SDK】涉及到的是在跨平台开发框架uniapp中如何与原生系统进行深度交互的技术。uniapp是一个使用Vue.js开发的所有平台的统一解决方案,它允许开发者通过一套代码...

Global site tag (gtag.js) - Google Analytics