You are hereAndroid开发04:解析HelloWorld
Android开发04:解析HelloWorld
上一节《Android开发03:创建HelloWorld》讲述了如何在Eclipse中创建最简单的HelloWorld程序,并在虚拟机中运行。这一节将对生成的HelloWorld程序的结构进行解析。
在Eclipse的Package Explorer中,HelloWorld程序的目录和文件结构:

程序的“入口”是AndroidManifest.xml。打开该文件,你会看到如下内容:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloWorldActivity" android:label="@string/app_name">
……
不难理解这是为应用程序设置图标,名称,还为应用程序指定了一个(默认)的activity:HelloWorldActivity,这是在上节创建项目时创建的默认Activity。
暂且把这里引用的图标和字符串放在一边,先来谈谈Android的Activity(活动)。应用程序往往包含大量的界面交互,Andoid中与用户的界面交互就是由Activity来负责,因此用户编写的大部分代码往往存在于Activity之中。
Android中常用到的Activity类型有:OnCreate、OnStart、OnPause、OnResume、OnStop、OnDestroy。
接下来我们打开src目录下的HelloWorldActivity.java,看看程序的默认Activity,也就是启动时运行的Activity都做些什么。你会发现HelloWorldActivity类只有一个OnCreate方法,方法内的关键代码是:
setContentView(R.layout.main);
也就是说程序在创建时,显示的内容是R.layout.main。
R.java文件位于gen目录下,是自动生成的,R应该是Resource之意,R.layout.main就是R文件中名为main的那个layout。打开文件可以看到里面为drawable、layout、string都自动附上了常量值(静态资源文件的引用),便于代码中调用。
到这里最后的线索指向了res目录,所有应用程序中用到的应用资源都存放于此,并且由Eclipse的Android插件自动管理。当你添加、删除、修改了res目录中的内容,插件会注意到这些变化,并且对R.java文件中的资源ID做同步的操作。
drawable目录存放静态图片,从某版开始分为hdpi、ldpi和mdpi三个针对不同分辨率的目录。
打开values目录下的strings.xml,会有一个专门的编辑界面。在这里可以看到熟悉的Hello World字符串。上一节里我们没有编写任何代码就显示了的Hello World原来是在这里被自动添加的。
从界面上可以看到,除了添加字符串还可以添加颜色、数组等其它资源。

最后,终于来到界面设计的部分,打开layout目录下的main.xml,进入眼帘的是熟悉的界面设计器。左边是可使用的界面控件,中间是主界面,很直观,此处暂时不展开。
同样,在创建项目时,一个TextView已经被自动添加用以显示HelloWorld字符串。此处如果不能显示的话,注意在上方右侧的下拉框中选择正确的Android版本。

右侧则是Layout中控件的结构视图,可以在这里修改控件的属性,

至此对一个以默认方式创建的Android应用程序分析完毕。重温一下,一个作为入口的AndroidManifest.xml,负责界面交互的Activity,负责提供资源引用的R.java,以及drawable、string和重要的layout一干资源文件。
- 如果想要发表评论,请先登录。
- 浏览 670 次