原文链接:http://sudarmuthu.com/blog/the-structure-of-an-android-project

译者:Tony Qu

译者注:本来想自己写篇的,正好看到这哥们写的不错,于是决定偷懒一下,翻译过来算了,反正最终目的是一样的。

在我的第一课《用Java开发安卓应用》的笔记中,我忘记提项目结构了,事实上讲师Tony是解释过的。作为我前一个帖子的后继,我决定再写些课程笔记。

Android项目结构

首先在Eclipse中创建一个新项目,然后在package explorer中你会看到下面这些顶层目录。

androidprojectstructure1

接下来,我会详细解释每个目录。

androidprojectstructure2

/src

这个目录包含了你即将创建的Java源代码文件,在这个截图中你会看到创建的"activity"文件,这个目录里的文件是根据package结构管理的,它与普通java项目中的/src目录很相似。

androidprojectstructure3

/gen

这个也是源代码目录,但是它只包含android平台自动生成的Java源代码文件。截图中有个R类,是生成的Java文件中最重要的一个。android framework负责生成R类文件,进一步的信息你可以参考这里

/Android {版本号}

这个目录包含了项目需要的库文件(Jar文件)。截图中你会看到它包含的jar文件,这和普通Java项目中的/lib目录很相似。

androidprojectstructure4_thumb

/res

这个目录包含了android应用所需要的所有外部资源文件(图片、数据文件等)这些外部资源是要在android应用中引用的。

它包含三个子目录

-> /res/drawable

-> /res/layout

-> /res/Values

 

/res/drawable

这个目录包含所有的图片。如果你打算在android应用中包含一个图片或者图标,就应该把它们放在这个目录。

/res/layout

这个目录包含了项目中用到的UI layout,这些layout是以xml形式保存的,关于layout的进一步信息,你可以参考android文档中的UI layout

/res/Values

这个目录也包含了一些xml文件,但主要是应用中要引用的key-value对。这些XML文件声明了数组(Array)、颜色(color)、度量(Dimension)、字符串。之所以把这些东西分别放在单独的xml文件中主要是考虑到这些值能够在不更改源代码的情况下用于多语言环境。例如,根据用户语言的不同应用程序中的信息可以有多种语言版本。

/assets

这个目录和res包含的xml文件差不多,也是应用中引用到的一些外部资源。但主要区别在于这些资源是以原始格式保存,且只能用编程方式读取。

 

AndroidManifest.xml

这个XML文件包含了android应用中的元信息,是每个android项目中的重要文件。它包含了activity(行为)、view(视图)、service(服务)之类的信息,以及运行这个android应用程序需要的用户权限列表,同时也详细描述了android应用的项目结构。具体你可以参考android文档