如果遵循本章前面给出的步骤,Android SDK安装就完成了。但为了确保安装能够正常工作,创建一个简单的Android应用进行验证。
创建Android项目
创建简单的Android应用的第一步是创建Android项目(Android Project)。Eclipse会把工作项组织成项目,当指定某项目为Android项目后,Eclipse就会自动关联该项目所需要使用的ADT插件和其他Android工具。
注意:创建Android项目所需的参考信息和详细的在线说明可以在这里找到:http://developer.android.com/guide/developing/eclipse-adt.html。
通过File→New→Android Project菜单命令启动新项目。在New Project对话框中找到Android Project选项(它应该是在Android菜单栏中)。单击Next按钮,New Project对话框将会如图1-6所示。
图1-6:Android Project新建对话框
要创建Android项目,需要提供以下信息:
Project name(项目名称)
项目名称即在Eclipse(而不是在应用)中显示的项目名称。输入TestProject,如图1-6所示。
Workspace(工作区)
工作区是包含一组Eclipse项目的文件。在创建新的项目时,可以选择在当前的工作区中创建该项目,或者为该项目在文件系统中指定一个不同的位置。除非需要把这个项目放在某个特定的位置,否则可以使用默认选项Create new project in workspace(在当前工作区中创建一个新项目)和Use default location(使用默认位置)。
Target name(目标名称)
安装SDK时安装的Android系统镜像显示在build target列表中。可以选择其中一个以及其相应的供应商、平台(Android操作系统版本号)、构建的应用的API级别。平台和API级别是最重要的参数,它们负责管理应用在编译时所使用的Android平台库,以及要支持的API级别——应用将无法使用比你所选中的API级别更高的API。在这个例子中,选择使用最新的Android操作系统及你所安装的API级别。
Application name(应用名称)
这是用户会看到的应用名。输入Test Application。
Package name(包名称)
包名称创建了Java包命名空间(namespace),它需要在应用中唯一标识出这个包,同时还需要能够唯一标识整个Android应用,使得该应用能够与所有其他已经安装的应用区分开。包名称包括唯一的域名(domain name)(即应用发布商的域名)及应用的名称。在Java中,不是所有的包命名空间都是唯一的,但是Android应用规范可以确保命名空间很少会出现冲突。在这个例子中,使用com.oreilly.testapp作为命名空间,你也可以选用适合于你的域名的命名空间(还可以使用com.example.testapp,因为example.com这个域名是专用于例子程序的,比如这个例子)。
Activity
Activity是Android应用用户交互界面中的一个基本单位,通常就是一屏中的一组用户界面对象。作为一个可选项,当创建一个项目时,也可以选择创建一个skeleton activity。如果要创建的是一个可视化应用(与之对应的是服务,服务是“没头脑的”——没用户界面),这是创建应用的初始Activity的快捷方式。在这个例子中,创建一个名为TestActivity的Activity。
最小SDK版本号(Minimum SDK Version)
Min SDK字段应该包含一个整数,用于指明应用所需要的最小SDK版本号,它用于应用的属性清单(manifest)中的uses-sdk属性的初始化,应用的属性清单是一个存储应用的所有属性的文件。参见P27“Android Manifest编辑器”一节的相关内容。在大多数情况下,最小SDK版本号应该和你所选择的build target的API级别相同,它在build target列表的最右侧,如图1-6所示。
单击Finish(不是Next)按钮完成Android项目的创建。新创建的项目将显示在Eclipse IDE的左窗格中,如图1-7所示。
图1-7:Package Explorer视图,显示文件及其组件,它们都是项目的一部分
单击项目名称旁边的“+”(在Windows系统中)或者三角形(在Mac intosh和Linux系统中),就会展开项目层次视图,可以看到Android项目的各个部分。展开src文件夹,会看到一个你在向导中创建的Java包。展开该Java包,可以看到创建的Activity类。双击该Activity类,就可以看到你的第一个Android程序的Java代码了,本例的代码如下所示:
package com.oreilly.demo.pa.ch01.testapp;import android.app.Activity;import android.os.Bundle;import com.oreilly.demo.pa.ch01.R;public class TestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }}
如果一直照着本书的说明做,并且在电脑上看到了同样的内容,则你的SDK的安装很可能是正确的。但是,我们还是一起来确认一下。分别在模拟器上和Android设备(如果手头有的话)上运行第一个程序,以进一步探索SDK。
创建Android虚拟设备(AVD)
Android SDK提供了模拟器,它可以模拟使用ARM CPU的运行Android操作系统的设备,这将使你可以在自己的PC机上运行Android程序。一台Android虚拟设备(Android Virtual Device,AVD)是该模拟器上的一组配置参数,使用这些参数对模拟器进行配置,就可以模拟特定的系统镜像,(即特定版本的Android操作系统),并设置其他参数来管理屏幕大小、内存大小及其他硬件特征。AVD的详细文档说明可以从下面这个网址直接获取:http://developer.android.com/guide/developing/tools/avd.html,模拟器的详细文档说明地址如下:http://developer.android.com/guide/developing/tools/emulator.html。
因为这里的目标只是验证SDK安装是否成功,不是要深入说明AVD,所以在此先不对模拟器进行详细介绍。本节将使用Android SDK和AVD管理器(如图1-8所示)创建AVD,并使用它来运行刚刚创建的应用。
图1-8:SDK和AVD管理器
需要创建包含系统镜像的AVD,它的版本至少要和创建的项目指定的target的版本一样。单击New按钮,会看到Create New Android Virtual Device(AVD)对话框,如图1-9所示,可以为新的AVD指定参数。
图1-9:创建新的AVD
可以在这个对话框中为新的AVD设置参数:
Name(名称)
名称是指AVD名称。可以为AVD指定任何名称,但是如果能够通过该名称知道所用的是哪种系统镜像是有益的。
Target
Target参数设置在AVD中要使用的系统镜像。Target应该和创建Android项目时所选定的build target一样或者更新。
SD Card
一些应用需要SD卡,后者能够对Android设备的闪存存储器进行扩展的硬件。除非计划在SD卡存储中放很多数据(例如媒体文件),可以创建一个小的虚拟SD卡,如100 MB,虽然大多数手机的SD卡有好几个GB的存储空间。
Skin(外观)
AVD的Skin主要设置屏幕大小。不需要改变默认设置来验证SDK安装是否正常工作,但是不同屏幕大小的各种模拟器对于验证布局在不同的设备上能否正常工作是很有用的。
Hardware(硬件)
AVD配置中的Hardware域支持设置可选的硬件。这里使用默认值即可。
填写Name、Target和SD Card字段内容,单击Create AVD按钮创建新的AVD。如果创建的AVD的系统镜像和为Android项目指定的target不一致或者版本与之相比较老,则应用将无法在其中运行。
在AVD上运行程序
现在,已经创建了构建应用的项目,并且所创建的AVD的系统镜像和应用的build target及API级别的需求也是兼容的,下面可以开始运行应用来验证所安装的SDK能否运行Android应用。
要运行应用,右击所创建的项目,会弹出一个菜单,选择Run As→Android Application命令。
如果所创建的AVD和所创建的应用兼容,AVD将会启动,Android操作系统会在AVD上启动,接下来就可以启动应用程序了。在AVD上运行的应用和图1-10所示的内容类似。
图1-10:新建应用在AVD上的运行结果
如果配置了多个可兼容的AVD,将会弹出Android Device Chooser对话框,要求你在已经运行的AVD中进行选择,或者在和系统关联的Android设备中进行选择(如果有的话),或者选择一个AVD来启动。图1-11所示的情景包含一个正在运行的AVD,以及另一个可以启动的AVD。
图1-11:Android Device Chooser对话框
在Android设备上运行程序
刚刚创建的这个应用可以在大部分Android设备上运行。
需要使用USB线把Android设备连接到PC上,如有必要,还需要安装驱动程序或者设置使用USB线连接该设备的访问权限。
Windows系统的特别说明以及需要的驱动程序,可以在这里获取:http://developer.android.com/sdk/win-usb.html。
如果运行的是Linux系统,则需要为Android设备创建一个规则文件。
如果运行的是Mac OS X系统,就不需要配置文件。
关于USB调试的详细参考信息可以在这里获取:http://developer.android.com/guide/developing/device.html。
还需要打开Android设备的USB调试选项。在绝大多数情况下,启动Settings(设置)应用,选择Applications(应用),然后选择Development(开发),然后就可以看到是否要打开USB调试的选项。
如果配置了AVD或者AVD正在运行,会出现Android Device Chooser对话框,显示所连接的Android设备及AVD。
选择该Android设备,Android应用就会加载,并在该设备上运行。
SDK问题解决:build target不存在
如果无法创建一个新的项目或者从SDK中导入示例项目,则可能是没有在SDK中安装build target。安装方法见P12“在SDK中添加build target”一节的说明,确保在Preferences对话框中的Android窗格中列出SDK中所安装的build target,如图1-5所示。