讲解完Android的整体结构之后,接下来开始讲解Android工程文件的组成。因为学习本书的目的就是开发Android游戏项目,而每个Android应用项目都是用Eclipse创建的工程,所以很有必要了解一个Android工程文件的结构。
在Eclipse中,一个基本的Android项目的目录结构如图2-9所示。
1.src目录
在里面保存了开发人员编写的程序文件。和一般的Java项目一样,“src”目录下保存的是项目的所有包及源文件.java),“res”目录下包含了项目中的所有资源。例如,程序图标(drawable)、布局文件(layout)和常量(values)等。不同的是,在Java项目中没有“gen”目录,也没有每个Android项目都必须有的AndroidManifest.xml文件。
“.java”格式文件是在建立项目时自动生成的,这个文件是只读模式,不能更改。R.java文件是定义该项目所有资源的索引文件。例如下面是某项目中R.java文件的代码。

图2-9 Android应用工程文件组成

在上述代码中定义了很多常量,并且这些常量的名字都与res文件夹中的文件名相同这再次证明.java文件中所存储的是该项目所有资源的索引。有了这个文件,在程序中使用资源将变得更加方便,可以很快地找到要使用的资源,由于这个文件不能被手动编辑,所以在项目中加入了新的资源时,只需要刷新一下该项目,.java文件便自动生成了所有资源的索引。
2.设置文件AndroidManifest.xml
文件AndroidManifest.xml是一个控制文件,在里面包含了该项目中所使用的Activity、Service和Receiver。例如下面是某项目中文件AndroidManifest.xml的代码。


在上述代码中,intent-filters描述了Activity启动的位置和时间。每当一个Activity(或者操作系统)要执行一个操作时,它将创建出一个Intent的对象,这个Intent对象可以描述程序想做什么,想处理什么数据,数据的类型,以及一些其他信息。Android会和每个Application所暴露的intent-filter的数据进行比较,找到最合适的Activity来处理调用者所指定的数据和操作。下面仔细分析AndroidManifest.xml文件,如表2-1所示。
表2-1 AndroidManifest.xml分析

3.常量定义文件(https://www.xing528.com)
下面看看在资源文件中对常量的定义,例如文件String.xml的如下代码

上述定义常量的代码非常简单,只定义了两个字符串资源,里面的字符直接显示在手机屏幕中,就像动态网站中的HTML一样。
4.布局文件
布局(layout)文件一般位于“res\layout\main.xml”目录中,通过其代码能够生成一个显示界面,例如下面的代码。

在上述代码中,有以下几个布局属性和参数。
● <LinearLayout></LinearLayout>:在这个标签中,所有元件都是按由上到下的顺序排
成的。
● android:orientation:表示这个布局的版面配置方式是从上到下垂直地排列其内部的
视图。
● android:layout_width:定义当前视图在屏幕上所占的宽度,fill_parent即填充整个屏幕。
● android:layout_height:定义当前视图在屏幕上所占的高度,fill_parent即填充整个屏幕。
● wrap_content:随着文字栏位的不同而改变这个视图的宽度或高度。
在上述布局代码中,使用了一个TextView来配置文本标签Widget(构件),其中设置的属性android:layout_width为整个屏幕的宽度,android:layout_height可以根据文字来改变高度,而android:text则设置了这个TextView要显示的文字内容,这里引用了@string中的hello字符串,即String.xml文件中的hello所代表的字符串资源。hello字符串的内容“Hello World, HelloAndroid!”这就是在HelloAndroid项目运行时看到的字符串。
注意:上面介绍的文件是主要文件,在项目中需要自行编写。在项目中还有很多其他的文件,那些文件很少需要自行编写,所以在此就不进行讲解了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
