Android笔记使用Android和EclipseADT创建并运行应用程序在Android简介的开始部分,我将帮助您尽可能快地创建一个简单的Android应用程序。您将使用Android4.2和EclipseAndroidDevelopmentTools(ADT)插件来创建一个基于Java的HelloWorld应用程序。为Android建立开发环境的途径有两种。刚接触Eclipse和Android的开发人员可以先下载ADT(AndroidDeveloperTools)Bundle。ADTBundle捆绑了一个AndroidSDK和一个Eclipse版本,其中已经安装了ADT插件。这个程序包可帮助您快速、轻松地使用Android。如果Eclipse已经安装在台式机上并设置好,那么请手动下载并安装AndroidSDK。基础AndroidSDK包含一些可简化Android开发的系统工具,但它缺乏开发特定Android版本所需的Android库。为您的操作系统下载基础AndroidSDK后,可以访问SDK安装目录的工具目录,并运行清单1中的Android脚本。清单1.启动AndroidSDKManager~/Development/tools/android/android-sdk-mac_x86/tools$./android该脚本启动了AndroidSDKManager,您可以下载Android的各种版本和库,并创建模拟程序或虚拟设备实例。AndroidSDKManager打开了一个窗口,其中显示一个很长的要下载的选项的列表,如图1所示。图1.SDKManager在左侧复选框中,选择Tools,然后选择Android4.2(API17)。该文件夹将会显示许多选项。选择SDKPlatform和ARMEABIv7aSystem图片,如图2所示。图2.SDKManager中的选择单击Installpackages并接受任何必要许可;管理器将完成其余步骤。创建一个模拟器接下来,创建一个模拟器实例,这是一个运行应用程序的虚拟设备。模拟器必须以Android的特定版本为目标,因此我们将创建一个运行Android4.2的模拟器实例。再次启动SDKManager(如果已关闭的话)。如果AndroidSDK工具或平台工具已更新,则重启SDKManager。在SDKManager顶层菜单中,选择ToolsManageAVDs会打开关于AndroidVirtualDeviceManager的新对话框,如图3所示。图3.AndroidVirtualDeviceManager该对话框列出了您的机器上定义的所有模拟器。模拟器列表在创建模拟器之前是空的。单击New打开CreateanewAndroidVirtualDevice(AVD)对话框,在其中可以定义一个模拟器。在Target下拉列表中选择Androidversion4.2。在AVDName文件夹中,为模拟器命名,我使用的名称是Android_4.2。当您准备好测试应用程序时,就可以使用该名称从命令行启动模拟器。图4.创建一个新的Android虚拟设备在图4中,您可以看到一些AVD选项,包括设备类型、摄像头设置、内存和存储。在我的示例中,选择了GalaxyNexus,对它使用了一个200MB的SD卡。最后,我选中了UseHostGPU模拟选项,这可以提高模拟器实例的性能。单击OK,在AVD对话框中查看列出的新的虚拟设备。选择该设备并单击Start,这将打开一个带有启动选项的对话框。现在,使用默认值并单击Launch。模拟器实例的启动时间较长,因此这个时候可以去喝一杯咖啡,浏览一下Facebook或更新您的Twitter状态。图5.新的Android设备!过一会后,一个闪亮的模拟器设备(类似图5)将会显示在您的主屏幕上,这意味着您可以开始创建Android4.2应用程序了。设置EclipseADT如果Eclipse已经安装到系统中,那么您必须在继续后面的操作之前添加AndroidDevelopmentTools(ADT)插件库。在Eclipse菜单中,打开HelpFindNewSoftware。单击Add和ADT插件的URL:(参见图6)。图6.添加ADT插件库完成插件下载后,根据操作说明完成安装。将ADT插件配置为可以使用您刚才安装的SDK。现在,您的项目已针对Android4.2平台完成了设置,并使用了您配置好的模拟器。回页首使用Android4.2!要在Eclipse中创建Android应用程序,请选择创建AndroidApplicationProject的选项。在NewAndroidApplication对话框中,提供应用程序名称、项目名称和包名称。应用程序名称是用户在设备图标中看到的内容;而项目名称是您的项目在Eclipse中的名称。图7.创建一个新的Android项目在图7所示的NewAndroidApplication对话框中执行下面的步骤:1.在TargetSDK下拉列表中,选择API17:Android4.2(JellyBean),然后单击Next。2.在下一个对话框中,保留默认设置,但是您可以将最终生成的代码放到任意位置。单击Next。3.保留ConfigureLauncherIcon对话框中的默认设置并单击Next。4.保留CreateActivity对话框和最终对话框中的默认设置,这些设置用于选择应用程序的行为。单击Finish。如果项目创建成功,您会看到一个新的项目,其用户界面类似图8中所示的界面。图8.Eclipse中的样例启动项目在Android模拟器中运行应用程序默认情况下,使用ADT项目向导创建的Android项目将创建一个简单的HelloWorld移动应用程序(参见图8)。在开始修饰这个应用程序之前,让我们来看一看在模拟器上运行这个基本应用程序会发生什么。如果Android4.2模拟器处于关闭状态,请打开它。这一次不会在AVDManager中启动模拟器,而是通过命令行启动它。您可以从SDK的tools目录访问emulator脚本。在启动脚本时,系统会要求您提供您的模拟器的名称。我的模拟器的名称为Android_4.2,因此我在清单2中运行脚本来启动我的模拟器实例:清单2.在命令行中访问模拟器~/Development/tools/android/android-sdk-mac_x86/tools$./emulator-avdAndroid_4.2启动您的模拟器实例,返回Eclipse,然后选择您的项目。右键单击并选择RunAsAndroidApplication。图9.从Eclipse中运行项目默认情况下,Eclipse将在目前正运行的模拟器上部署您的应用程序(图9)。您的模拟器实例现在显示了一个白色的屏幕,其中显示了所有Java开发人员都喜欢的问候语!如果Eclipse因为某种原因在模拟器上运行应用程序时出现故障,则需要返回到RunAs选项并选择RunConfigurations。在Target选项卡中,重新选择Automaticallyselectcompatibledevice,并确保您的模拟器也被选中。图10.HelloWorld!回页首基本Android应用程序您现在有了一个基本的HelloWorld应用程序,可以在任何与4.2兼容的Android设备上运行它。最后,您可能希望定制这个应用程序,以便添加更多的功能。目前,我希望对Android应用程序进行分析。Android的特制JVMAndroid应用程序是使用Java代码进行编写的,但并没有在标准JVM上运行它们。作为Android构建的一部分,我们会对Java字节代码进行转换,并针对移动设备的内存和处理需求进行特殊处理。请参阅参考资源,详细了解Android应用程序的架构和Dalvik虚拟机。回到EclipseIDE。在项目的src目录中,导航到项目的.java文件。如果您保留了所有默认值,那么该文件的名称应为MainActivity。Activity类是Android移动应用程序的驱动引擎,类似于servlets对于Java服务器端应用程序的意义。每个Activity都有一个生命周期,类似于Javaapplet的生命周期。HelloWorld应用程序只包含基本的架构,因此其Activity非常简单。首先,该类将从Android的Activity类扩展。activity的入口点是onCreate方法,它在应用程序加载时由平台启动。这个方法中的关键代码是setContentView调用。清单3显示了默认的MainActivity类。清单3.MainActivitypackagecom.example.hello;importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.activity_main,menu);returntrue;}}在清单3中,setContentView加载了activity_main布局,它是您在第一次打开项目时在Eclipse中看到的视图的名称。该名称与res/layout目录中的activity_main.xml文件对应。打开该文件,查看应用程序的图形化表示。在视图的左下方的选项卡中,有一个查看原始XML文件的选项,可以单击该选项来查看原始文件,内容类似于清单4。清单4.原始布局的定义RelativeLayoutxmlns:android=:tools=:layout_width=match_parentandroid:layout_height=match_parenttools:context=.MainActivityTextViewandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:layout_centerHorizontal=trueandroid:layout_centerVertical=trueandroid:text=@string/hello_world//RelativeLayoutAndroid视图是在XML文件中定义的。每个视图都有一个布局,您可以向其中添加小部件,比如按钮或文本字段。目前,样例应用程序有一个RelativeLayout和一个小部件:TextView。如果仔细观察这个小部件,您会发现一个文本字段,它被设置为一个引用:@string/hello_world。该变量是指向实际字符串的指针,您可以在res/values/strings.xml文件中找到它。打开该文件。要查看原始XML,请单击左下方区域的strings.xml选项卡。清单5.strings.xml文件?xmlversion=1.0encoding=utf-8?resourcesstringname=app_nameHello4.2/stringstringname=hello_wo