原文:酷壳 – CoolShell · Neo · 2011-04-07 · 58,640 人阅读
By Chris Blunt
翻译:赵锟
原文出处:http://www.smashingmagazine.com/2010/10/25/get-started-developing-for-android-with-eclipse/
如今的移动设备应用程序开发充满着让人振奋的东西。功能强大的硬件支持,平板电脑,多样的软件平台(塞班 OS,iOS,WebOS,Windows Phone 7…),移动设备开发者前景充满了机会和挑战。
当你想要开始开发你的移动设备程序时,如此多的选择可能让你产生困扰。究竟应该选择神马平台?我应该学习神马语言?为你计划的项目选择神马工具?在本教程中,你将学会如何在Google公司的开源移动设备操作系统Android下开发应用程序。
为神马选Android
Android是一个基于Linux内核的开源平台, 并且被安装在来自于不同厂商的上千种设备中。Android将各种移动设备的硬件如 电子罗盘,摄像头,GPS,方向感应,等等暴露给你的应用程序。
Android的免费开发工具可以让你以0成本开始编写你的软件。当你想向世界展示你的应用程序的时候,你可以将你的软件发布到Google的 Android 市场。向Andriod Market 发布程序只一次性的收取注册费用(25元),并且不像苹果的App Store ,对每一次的提交都要做检查,除非你的程序明显地违法,在经过一个快速检查的流程后,才能让你的程序提供给客户下载和购买。
下面是Android对于开发者的优点:
- Android的SDK可以在Windows,Mac和Linux上运行,因此你不需要为了开发环境支付额外的新硬件投入。(译者注:我曾近在Win7 64x + VMWare上成功的安装Mac Snow leopard + XCode的开发环境,对于爱用盗版的人来说,这点MS优势不是很大啊)
- 构建于JAVA上的SDK。如果你熟悉JAVA语言,你就是事半功倍了。(译者注:这个酷壳有篇文章讨论过,大家可以参看:https://coolshell.cn)
- 你只要在Android Market上发布应用程序,你将有潜在的成千上万的用户。而且你不一定非要把程序发布在Android Market上,你还可以在你的博客上发布。而且有传言,Amazon已近在最近准备搭建他们自己的Android 应用程序商店了。
- 除了了技术性的SDK 文档外,还可以找到其他更多的使用者和开发者的资源。
闲话少说——下面让我们进入正题,开始开发我们的Android应用程序。
安装Eclipse和Android SDK
Android应用程序的推荐开发环境是带有Android开发包插件(Android Devlopment Toolkit (ADT))的Eclipse。我在这里简要说明一下安装流程。如果你需要更多的细节,Google的开发人员网页中详尽地解释了具体的安装配置过程
- 为你的平台下载Android SDK(Windows , Mac OS X 或者 Linux)。
- 在你的硬盘上解压下载文件 (在Linux, 我使用 /opt/local/).
- 如果你没有安装Eclipse,下载并安装Eclipse JAVA 集成开发环境包。 用于编程的话, Google推荐使用Eclipse 3.5 (Galileo).
- 运行Eclipse 并选择Help->Install New Software.
- 在Available Software窗口中点击Add按钮。
- 进入 Android Development Tools 的Name输入框, 在Location 输入框输入https://dl-ssl.google.com/android/eclipse/
- 检查可用软件中有Developer Tools并点击OK按钮。这将安装Android Development Tools 和DDMS, Android的调试工具。

- 点击Next和Finish按钮以完成安装,安装完成后,你需要重启你的Eclipse一次。
- 在Eclipse重启后,选择Window->Preference 后你可以在分类列表中看到Android这一项了。
- 现在需要告诉Eclipse,你的Android SDK安装在什么地方。点击Android项后浏览选择你解压后的Android SDK所在的路径。例如/opt/local/android-sdk。

选择Android 平台
在你开始编写Android应用程序之前,你需要为你需要开发应用程序的Android设备下载SDK平台。每个平台都有可以安装在用户设备上的不同版本的SDK。对于Android1.5或以上版本,有两个可用的平台: Android Open Source Project 和 Google.
Android Open Source Project 平台是开源的,但是不包括Google公司的私有化扩展,比如Google Map。如果不选择使用Google的API,Google的地图功能就不会在你的应用程序中生效。除非你有特别的原因,否则我们推荐你选择Google平台,因为这样你可享受到Google的扩展类库提供的便利。
- 选择Window Android SDK and AVD Manager.
- 点击左栏中的Available Packages 并选择选择Respository中有效的Android SDK平台。
- 你可以选择列表中所需要的平台,或全选下载所有有效的平台。当你选择完毕,单击Install Selected 并完成安装。

一旦成功的下载所有的平台后,你就可以准备开始开发Android应用程序了。
创建一个新的Android项目
Eclipse的新建项目向导能为你创建一个新的Android项目,并生成可以开始运行的文件和代码。通过向导生成代码,可以让你马上得到一个Android程序运行的直观映像并为你提供了一个帮助你快速入门的方法:
- 选择 File->New->Project…
- 选择Android Project
- 在New Project 对话框, 键入如下的设置:
[code]
Project Name: BrewClock
Build Target: Google Inc. 1.6 (Api Level 4)
Application Name: BrewClock
Package Name: com.example.brewclock
Create Activity: BrewClockActivity
Min SDK Version: 4
[/code]

在点击了完成按钮之后,Eclipse将为你创建一个新的可以运行的Android项目。注意,你通知了Eclipse生成了一个叫做BrewClockActivity的Activity。这个Activity的代码用于运行你的应用程序。生成的代码将在程序运行时非常简单地显示一条“Hello World”消息。
包
包名是你的应用程序标示。当你开始准备在Android Market上发布你的应用程序的时候,Android用这个标识符精确地记录你的应用程序的更新过程,因此让包名唯一是非常重要的。尽管我们在这里使用了com.example.brewclock这样的名字空间,对于真实的应用程序,你应该选择类似于com.你的公司名.你的应用程序名 这样的包名。
SDK 版本
Min SDK Version 是你的Android程序所能运行得最早版本号。对于每个新发布的Android,SDK会增加并修改一些方法。通过选择一个版本号,Android(Android Market)会知道你的应用程序能运行在等于或晚于指定版本的设备之上。
运行你的应用程序
现在让我们开始在Eclipse中运行我们的应用程序。由于是第一次运行,Eclipse将会询问你的项目类型:
- 选择Run->Run 或 按下 Ctrl+F11.
- 选择Android Application 并点击 OK 按钮.
Eclipse 将会在一个Android设备上运行一个应用程序。在这个时候,由于你没有任何Android设备,因此在运行时一定会返回一个失败,并且询问你是否要新建一个Android的虚拟设备。(AVD)

Android 虚拟设备
Android 虚拟设备 (AVD) 是一个模拟真实世界中Android设备的模拟器,例如移动电话或平板电脑。你可以在不买任何真实Android设备情况下,使用AVD测试你的应用。
你可以创建任意多个你喜欢的AVD,每个可以建立在不同版本的Android平台之上。对于你创建的每个Android设备,你可以配置不同的硬件属性,比如是否具有物理键盘,是否支持GPS,摄像头的像素,等等。
在你开始运行你的应用程序之前,你需要创建你的AVD,来运行指定的SDK平台(Google APIs 1.6)。
现在让我开始:
- 如果还没有开始运行你的应用程序,点击run(或按下 Ctrl+F11)。
- 当目标设备弹出警告,点击Yes 以创建新的AVD。
- 单击Android SDK and AVD Manager 对话框内的New 按钮.
- 为你的AVD键入如下的设置:
[code]
Name: Android_1.6
Target: Google APIs (Google Inc.) – API Level 4
SD Card Size: 16 MiB
Skin Built In: Default (HVGA)
[/code]
- 单击 Create AVD 让Android为你创建一个新虚拟设备。
- 关闭the Android SDK and AVD Manager 对话框.

运行代码
再次运行你的应用程序(Ctrl+F11)。 Eclipse 将build 你的项目并运行一个新的AVD。记住,AVD模拟了一个完全的Android系统,因此你需要有耐心来等待这个缓慢的启动过程,就如同你重启真实的Android设备一样。一个好的做法是不要关闭你的AVD,直到你完成了你一天的工作。
当你的模拟器启动后,Eclipse自动地安装并运行你的应用程序。

开发你第一个Android应用
生成的代码能良好的运行,但是你真正想要的是开发一个真实的应用程序。为此,我们首先果一个咸蛋的设计流程,并开始创建一个可以让你部署在Android设备上的应用。
大部分的开发者(包括我自己)都喜欢每天一杯咖啡或茶。在下一节中,你将开发一个简单的泡茶计数器应用程序来记录用户泡了多少杯茶,并为泡每杯茶做一个定时器。
你可以从GitHub下载整个教程的源代码.
设计用户界面
在开发任何Android应用程序之前的第一步就是设计和开发用户界面。下面是一个我们这个应用程序的用户界面的一个概览。

用户将能通过+和-按钮设置一个泡茶的定时器。当单击开始按钮,定时器将开始按指定的时间递减。除非用户再次点击按钮以取消计时,否则当定时器为0的时候,累计的泡茶计数brew将增加1。
开发用户界面
Android 用户界面或布局layouts, 是通过XML文档来描述的,可以在项目的res/layouts目录下找到。在之前运行在模拟器上代码中,我们可以看到由eclipse自动生成的布局代码在res/layouts/main.xml 中。
Eclipse有一个图形化的布局设计器,通过在屏幕上的拖拽控制来完成布局的设计,然而,我却发现直接写XML并使用图形布局来预览是更容易的方式。
现在让我们对main.xml做一些工作以达到上图的效果:
- 在Eclipse中通过双击PackageExplorer的res/layouts/main.xml 来打开xml。
- 点击屏幕下方main.xml 来切换为xml视图。
将main.xml中内容改为如下的内容:
[code]
/res/layouts/main.xml