5. 第一个程序Hello Wolrd
?
本章中,您将会创建第一个Android活动。这一章探讨程序从开始到结束的创建过程。我将展示如何在Eclipse中建立一个Android项目,在初始的文件中添加代码,以及在Android模拟器中运行完成的程序,它将是一个功能完整的、可以在Android平台中运行的程序。
实际上,翻阅完这一章后,您将可以建立不止一个Android活动。计算机程序设计课程传统的第一个程序是“Hello World!”,所以第一步您也要创建一个标准的Hello World!程序,它仅在黑色的背景上显示“Hello World!”文字。接下来,为了让您更好地理解这门语言,下一章节中我会详细解释Android自动创建的这些文件。您在这个活动中会创建两个迭代过程,每个使用不同的技术来在屏幕上显示信息。您也会创建两个不同的Hello World! 版本,使用图形来表达“Hello World!”讯息。这样,您将对Android控件和内部工作机制有一个较好的了解。
注:这几章中,您将经常看到“程序(Application)”和“活动(Activity)”轮番出现。它们的不同在于,程序可能是由多个活动组成的,但是一个程序至少要有一个活动。您的程序中的每个“窗口”或者屏幕是一个独立的活动。这样,如果您创建一个相当简单的程序,仅有一个屏幕(如本章的Hello World!),那么就只有一个活动。在后面的章节中,您将会创建多活动的程序。
为了确保您可以对Android编程有一个完整的印象,在第六章中您将要在Microsoft Windows和Linux的Android SDK命令行环境中创建这些程序。换句话说,这一章谈的是在Eclispe中创建程序,第六章则是使用命令行工具来创建。因此。在我们继续以前,您最好检查您的Eclipse环境是否配置正确。复习第三章中的步骤,设置好Android SDK的PATH环境变量。 您也需要确认PATH中的JRE是否正确。
提示:如果在使用命令行方式范例中,您有与配置相关的问题,请参阅第二章和第三章中的配置步骤,并查看Android SDK文档。
?
5.1 在Eclipse中建立您的第一个Android项目
现在请开始您的第一个Android项目。打开Eclipse。如果您是第一次打开Eclipse,它会显示一个空的开发环境(参见图5-1)。您的第一个任务是设置和给您的程序的工作区命名。选择菜单中的File | New | Android Project,将会运行New Android Project wizard。
注意:不要在New菜单中选择Java Project。尽管Android程序是用Java编写的,并且您是在一个Java项目中进行所有的工作,但是这个选项创建的是一个标准的Java应用程序。选择Android Project,可以为您创建指定为Android的程序。如果找不到Android Project这一菜单项,这说明Android插件未安装完整或安装不正确。请回顾第三章中关于Android插件的安装部分的内容,纠正这个问题。
New Android Project wizard为您创建了两样东西:
● 一个程序外壳,它使用android.jar文件与 Android SDK绑定,同时将这个项目与Android模拟器绑定。这使您可以使用任何Android库和包来编程,并且在正确的环境中调试。
?
图 5-1 空的Eclipse开发环境
● 最初的项目框架文件。这些文件包括一些您用来建立程序的重要的应用程序组件。开发Microsoft .NET程序时,Visual Studio会帮助我们生成一些文件和代码,与此相同,Eclipse中的Android Project wizard会生成最初的程序文件和一些Android代码。
此外,New Android Project wizard中有一些选项,如下图所示,您需要对它们进行设置以初始您的Android项目。
?
在Project Name(项目名称)输入框中,出于示范的需要,命名为HelloWorldText。这个名字足以将Hello World!与本章中您要创建的其他项目区分开来。
在Contents(内容)一栏,请维持默认的选项不变:"Create New Project in Workspace(在工作区中创建新项目”被选中且"Use Default Location(使用默认位置)"框中应已打上勾。 这将让Eclipse在您的默认工作区目录中创建项目。这样做的好处是让您的所有项目都被集中存放在一个位置,这使得对项目的排序、管理、查找十分方便。如果您使用基于Unix的环境,这个路径指向您的$HOME目录。
如果您在Microsoft Windows环境下工作,如同前几章中提到的那样,工作去的路径则是C:/Users//workspace。
但是,由于一些原因,您可能需要取消选择"Use Default Location"。原因之一是您可能想指定一个不同的目录,以便将这个项目与其他的Android项目分开存放。比如,您也许打算将本书中作为示范的项目与您将来自己的创建的项目分开。,如果是这样,只需简单的在Location(位置)输入框中指定您自己的目录路径即可,
另一方面,在安装Eclipse过程的Select a Default Workspace步骤中,如果您没有勾选Use This as the Default和Do Not Ask Again check box(参见第二章),您可能被要求指定一个项目位置。在Eclipse安装过程中,勾选这两项,则将所有的项目都将保存在工作区目录中(并在New Android Project wizard中显示这个默认的位置)。若您在安装Eclipse过程中没有勾选它,您就需要为新项目选择一个路径,这可以通过点栏位即可。
最后的三个选项位于Properties(属性)区。这三个属性定义了项目如何被整合到Android环境中。Package Name(包名称)输入框,指定您的程序包的名址空间。 比如,android.app.Activity或是com.google.android.map.MapActivity。
注意:Package名称遵循Java标准Package命名规则,这个规则旨在降低两个包同名的风险。顶层的Package名称是公司的域标志,如com、org和net等。 接着是域名,如google。最后,是可以描述package内容的标题。在本章中,Hello World!的Package名称中省略了com,表示这是一个文本程序并且不准备正式发布。本书中后续所有的将是可发布的,并使用了com标志符。
对于HelloWorldText程序,package名为android_programmers_guide。这个名称将这个程序与本书中将开发的其他测试程序区别开来。
注意:当您输入package时,您也许会注意到Wizard窗口的顶部出现了一个错误讯息,提醒您必须填完所有的属性栏位才可以继续。这个消息出现的有点早,因为您还未来得及去填别的栏位。对此,您只需忽略这个讯息并继续填写另两个栏位即可。
下一个属性栏位是Activity Name(活动名称),它指的程序主屏幕的名称。将Activity看成是显示应用程序内容的窗口。如果没有一个Activity,您的应程序将做不了什么。然而,Android程序可以由几个Activity组成,New Android Project wizard需要知道哪一个是默认的Activity。所以您必须提供一个Activity名称,输入在Activity Name一栏中。为了示范的需要,请使用HelloWorldText。这让程序如同它所描述的那样简单。
The final Properties field, Application Name, specifies the name of your application. This is the name that will be used to manage your application when it is installed on the device. Again, for the sake of keeping things simple, go with HelloWorldText as the application name. The following illustration shows the completed New Android Project wizard.
?
提示:程序的名称与Activity的名称可以不同。实际上,许多程序员习惯上将启动屏幕称为Main或Startup。您可以自己的方式随便命名。但为了示范需要,这一章假设您使用了我建议的名称。
点击Finish完成创建过程。这个wizard运行一个后台进程来帮助自动生成一些需要的文件,并设置用来支持Android程序的目录结构。这个进程结束后,您就拥有第一个Android项目了,如图5-2所示。
?
提示:如果Finish按钮不可用,可能是在Properties栏位上出了错。为了确保Properties的栏位输入正确,一旦输入的信息有任何问题,Eclipse都不允许结束这个过程。请回头看一下Properties栏位是否正确输入了。
下一节中我们将看一下自动的生成的Android文件有哪些内容,以及一些框架程序的作用。