安装和使用Android

在本章中,您将学习如何设置为Android开发环境。我会超越只列出在那里你可以下载软件,并将涵盖一些最佳做法,开始设置。我会看看发展操作系统选择以及可用的 Android的工具。你会看到好的坏的和丑陋的各种工具和将要做些平台的选择 (或其他人已经为你做了)。 通过这一章的结尾,您将拥有整个开发环境设置。你会能够写 Hello World 应用程序,生成它,和在模拟器 (或物理设备,如果你想的话) 上运行它。

建立 Android SDK

安卓软件开发工具包 (SDK) 是所有你需要开发 Android 的应用程序。在 SDK 中有一套工具,以及一个平台来运行它,看到它所有的工作。您可以为您的特定平台从 Android SDK 下载页面下载 Android SDK。 一旦你下载它,把它解压 (或在 Linux上,解压缩)在容易得到的文件夹中。进一步的例子,书中将承担你的 SDK 位于文件夹中 ~ / android sdk。如果它是在不同的位置,请使用该位置而不是 ~ / android sdk。举个例子: Windows: C:\apps\android-sdk-windows Linux /home/YourUserName/android-sdk-linux_86 Mac OS X /Users/YourUserName/android-sdk-mac_86

对于 Windows 用户,我强烈推荐在他们选择不带空格的目录。这是因为我们会在命令行上工作和空间只是复杂的事情。因为 Windows XP home 目录是在C:\Documents and Settings我建议把 android sdk 放在你创建的一个顶级目录,例如:C:\apps.但是,在 Windows Vista 或 7,您可以只提取 android sdk 进入C:\Users\YourUserName

设置工具的路径

Android SDK 有一个文件夹,其中包含其主要的工具。因为我们要从命令行使用

这些工具,它对添加你的 ~/android-sdk/tools/ 和你到你系统 PATH 变量的 ~/android-skd/platform-tools/ 目录是非常有帮助的。这将使它更方便地访问您的工具,而无需每次都导航到特定的位置。 设置 PATH 变量的详细信息取决于该平台上;请参阅文档的第 2 步"安装 Android SDK"。

安装 Eclipse

Eclipse 是编程工具最初是由 ibm 公司为 Java 开源集合。现今,大多数开发人员在 Java 社区青睐 Eclipse 作为其集成开发环境 (IDE) 的选择。Eclipse 地址: http://eclipse.org.

Eclipse 有节省大量时间的功能,在我们开始之前指出来。请记住,虽然强大,Eclipse 往往是非常耗费资源,所以你甚至可能要一天一次重新启动它,如果它开始慢吞吞地运行。 虽然你可以做任何喜欢的文本编辑器或集成的开发环境 (IDE) 的 Android 开发,大多数开发人员似乎使用 Eclipse,,因此这是我在这本书中的使用原因,如果您选择不使用 Eclipse,请参阅“Developing in Other IDEs”. 在http://www.eclipse.org/downloads/.下载Eclipse。 我向Java 开发人员推荐 Eclipse IDE (而不是两倍大小的)。适用于java EE 开发人员的Eclipse。你可以将它安装在任何你想要的目录。

Eclipse工作区

Eclipse以项目为单位管理用户的工作,项目又都位于工作区中,因此工作区的位置需要明确下来,我们建议使用~/workspace这个相对简单的位置来放自己的代码,然而,在windows上,我们建议将工作区放在没有空格的目录中(他们会使你在命令行的工作复杂化),对于windows用户,C:\workspace是一个不错的选择。

建立Android开发工具

安装好eclipse和ADK后,你还需要安装Android工具的Eclipse插件,操作步骤如下: 1、启动Eclipse,选择Help→Install New Software。 2、在Available Software对话框中点击Add。 3、在出现的Add Site对话框的name栏中输入远程站点(例如,“Android Plugin”)的名称。 4、在栏中,输入以下URL: https://dl-ssl.google.com/android/ eclipse/. 5、点击OK. 6、返回Available Software视图,你现在应该可以看到Developer Tools已添加到列表中,选择 Developer Tools的复选框,它会自动选择嵌套的 Android DDMS 和 Android Development Tools,点击下一步。 7、在随后出现的Install Details目录中,the Android DDMS 和 Android Development Tools功能,单击Next阅读和接受许可协议,安装任何依赖文件,单击Finish。 8、重新启动Eclipse

图3-1

Hello, World

为了确保一切都设置正确,我们将编写一个简单的Hello, World应用程序来验证是否正确,事实上我们没有太多可编写的代码,但是很多东西需要理解。生成一些自定义的模板。

建立新项目

选择File→New→Android Project,有时候Android工作条目不可能立即出现在那里,这时如果Android Project不是File→New下的一个选项,那么就选择Other,在里面寻找Android Projec,在你使用了Android Projec一次之后,它就会一直显示在菜单里。

在新的项目对话框,填写下下列内容: 1、Project name是一个Eclipse概念,Eclipse将一切组织到项目中,一个Project name应该是一个单词,我喜欢使用CamelCase命名约定,在这个例子中,输入HelloWorld点击Next,继续。 2、选择构建目标build target.它为编译工具指明构建应用程序的Android平台,其中罗列了所有可用的目标平台和已安装的SDK附带的加载项目,在这里选择一个较新的版本,例如Android 2.2(但是不要选择名为Google APIs的目标,他们是谷歌对Android的专有拓展),为了达到我们的目的,我们要使用Android平台的开源版本。 3、你接下来要填写项目的属性,应用程序的名称是应用程序的纯英文名字,输入类似的Hello, World!!!.文字。 4、package name是一个java概念,在Java中所有的源代码被集中到一个包中,包的重要性在于他们专门对项目中的Java类来控制对包的可见性,在Android中包对应用程序的签名也很重要,它的命名规则是逆序的域名,后跟可选的子域名,如果要建立一个计算器应用程序,而域名是example.com.我们或许会使用com.example.calculator作为包名称,这个例子我将要使用com.marakana。 5、选择特定的一个活动,我们还未涉及到活动(你会在第六章学习),但可将他们视为对应于应用程序的不同屏幕界面,一个活3-2动将通过一个java类来表示, 所以它的名称应当遵循Java类的命名规则:以大写字母开头,使用驼峰风格来分隔单词,,所以这里使用HelloWorld作为活动的名称。 6、最低的SDK版本是设备运行此应用程序所需的最低的Android版本,这时通过API级别来表示的,选择一个较低的版本,能让你的应用程序在较多的设备上运行我们在这里填写8代表Android 2.2,知道我是这样设置的。 最后点击Finish按钮,Eclipse会设置你的项目,让我们来看一下不同的文件,详细过程表3-2.

图3-2

Android的清单文件

清单文件将全部信息融合在一起,它解释了该应用程序的组成部分,它的主要构建块是什么,它需要哪些权限,等等。具体看Example 3-1

Example 3-1. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?>

**布局XML代码** 布局文件指定屏幕的布局,在Example 3-2中所显示,我们只有一个屏幕,它被HelloWorld.java加载,代码在Example 3-5. Example 3-2. res/layout/main.xml

字符串

这是另一个XML文件包含了你所使用的应用程序的所有文件,例如,按钮、 标签、 默认文本和相似类型的字符串的名称进入此文件。这是各种的文件,关注点分离的最佳实践,即使他们是XML文件,换句话说,布局XML文件对小部件的布局来说是可能的,但字符串XML是负责其文本内容,具体见see Example 3-3 Example 3-3. res/values/strings.xml <?xml version="1.0" encoding="utf-8"?>

Hello World, HelloWorld! Hello, World!!!

R文件

R文件将java的世界和世界的资源联系起来,它是一个自动生成的文件,也就是你永远不用修改它, 它会重新创建每次您更改 res 目录中的任何东西。例如当您添加图像或 XML 文件。你不需要看看这个文件太多。我们将用数据在它相当多的但我们将使用 Eclipse 来帮助我们引用的值存储在此文件中。

Example 3-4. gen/com/marakana/R.java / AUTO-GENERATED FILE. DO NOT MODIFY.

  • This class was automatically generated by the
  • aapt tool from the resource data it found. It
  • should not be modified by hand. */ package com.marakana; public final class R { public static final class attr { }

public static final class drawable { public static final int icon=0x7f020000; }

public static final class layout { public static final int main=0x7f030000; }

public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }

JAVA资源代码

代码是驱动一切的东西。这是最终获取转换的代码 Dalvik 可执行文件并运行您的应用,详细见Example 3-5。

Example 3-5. HelloWorld.java package com.marakana; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activity { /* Called when the activity is first created. / @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }

仿真器

在与模拟设备的物理设备上运行您的应用程序是很多同样的事情。这是因为仿真程序是一个实际的代码模拟器,意味着它作为实际的设备,所有的方式到机层运行相同的代码库。

模拟器和仿真器听起来很相似,但在根本上是不同。模仿就是模仿机执行二进制文件代码。所以,仿真器是有点像一台虚拟机。模拟程序只是在较高级别代码的行为。Android SDK 附带了一个真正的模拟器,基于 QEMU。

若要使用仿真器,我们不得不创建 Android 虚拟设备(AVD)。最简单怎样做才是开始通过 Eclipse 的 android 工具。

要创建新的 AVD,启动工具称为 Android SDK 和 AVD 管理器 (见图 3-3)。你可以从位于SDK/工具目录中通过单击图标或通过命令行启动工具称为android,Eclipse 启动此工具。

图3-3

从内 Android SDK和AVD管理器窗口中,选择"新建..."弹出一个创建新 AVD 对话框窗口(见Figure3-4)。在此对话框中,您为您新的 AVD 指定参数,名称可以是您选择的任何名称。目标选定哪个版本的 android 系统要安装上这个特别的 AVD。可能目标的列表基于平台和加载项安装到你的 SDK。如果你没有任何目标,回到 Android SDK 和 AVD 管理器 窗口,然后选择"Available packages”"选项卡上为安装至少一个平台, 例如,安卓 2.3-API 级别 9。 每一个AVD都可以有一个SD卡。你可以在这里为内置卡制定一个以MB为单位的数值来表示它的大小,Skin表示模拟器的外观,通hardware选项可以详细设置AVD的硬件参数,选择支持的特性。

图3-4

一旦你配置完毕此对话框在列表中就有一个新的Android虚拟设备,继续单击start按钮启动它,然后单击launch按钮,将会弹出一个仿真器(见Figure 3-5)。

图3-5

一个模拟器与一个物理电话

仿真器与物理电话为最多的部分,在模拟器上运行您的应用程序与运行在物理电话完全相同,有一些明显的例外,大多东西硬要虚拟化,例如传感器。其他硬件相关的功能,如电话和位置服务,可以在仿真器中模拟。

总结

设置 Android 开发环境基本上涉及 Android SDK 和 Eclipse 的设置。一旦您完成您的开发环境的设置,要想测试一切正常工作最好是使用 Eclipse 来创建一个简单的 Hello World 项目和在模拟器上运行它,如果运行正常,你是几乎可以肯定你的系统是设置好了的,准备进一步的发展。