首页 > 代码库 > Android 解析 Android 项目组成
Android 解析 Android 项目组成
本文说明 Android 项目组成,虽然简单,但决不能忽视。
当你从简单 Hello World 程序,到会实现一些常见功能,比如,下拉(上拉)刷新最新(加载更多),消息处理(UI 通知更新),ViewPager 滑动效果,启动动画,访问网络文件,进行一些复杂的布局等等,在到调试一些开源项目,最后自己编写 Android 程序。可当调试一些开源项目时,尤其是那些比较大的开源项目,你会发现一些“意想不到”的情况,它们无论从界面,还是从功能,界面够炫,功能强大,也正因为如此,需要更多的资源,比如动画或声音效果,甚至使用三方的库,那就需要了解更多关于 Android 项目构成的问题了。
文件/文件夹 | 描述 | 是否必需 |
AndroidManifest.xml | 应用程序描述文件,是每个 android 程序所必需的文件,位于工程的根目录下。此文件是是项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,指定应用程序中使用的服务权限(如 GPS 服务、互联网服务、短信服务等)。
| 是 |
gen | 该目录存放的所有内容都是自动生成的,该目录中最重要是 R.java。R.java 是个中介文件,在建立项目时自动生成,这个文件是只读模式的,不能更改。R.java 文件是自动产生的 R 类,R 类中包含很多静态类,且静态类的名字都与 res 中的一个名字对应,就像是个资源字典。其中包含了用户界面、图像、字符串等对应各个资源的标识符,R 类定义了该项目所有资源的索引。 例如,xml 界面文件中有一个 ID 为 tv 文本框控件,即 android:id="@+id/tv",那么通过 R.id.tv 就可以找到这个控件。 通过 R.java 可以很快地查找到所需要的资源,同时,编译器也会检查 R.java 列表中的资源是否被使用,没被使用到的资源不会被编译到软件中,这样可以减少在手机占用的空间。 | 是 |
bin | 在使用 Eclipse 开发时,可以不用关心 bin 目录。如果在 Eclipse 中看不到,可以到资源管理器下面查看。 | 是 |
src | 包含应用程序的所有 Java 源代码。 | 是 |
assets | 其他任何资源的文件夹和文件的集合。除了提供 res 目录存放资源文件外,Android 在 assets 目录也可以存放资源文件,assets 目录下的资源文件不会在 R.java 自动生成 id,所以读取 assets 目录下的文件必须指定文件的路径,可以通过 AssetManager 类来访问这些文件。 | 否 |
res | 资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被 R.java 自动记录。res目录存放所有程序中用到的资源文件。“资源文件”指的是资料文件、图片等。该目录包含 drawable,anim,layout,values,xml 和 raw 子文件夹。 | 是 |
drawable | 包含应用程序使用的图像资源(*.png、*.jpg)。Android 1.5 及以下版本目录是 drawable,Android 1.5 以上版本有 3 个:drawable-hdpi、drawable-mdpi 和 drawable-ldpi。
虽然是 3 个目录,但在使用 R 文件访问时,与 Android 1.5 及以下版本一样的。 | 否 |
anim | 包含用 xml 描述的应用程序使用的动画效果的配置文件。 | 否 |
layout | 包含应用程序的布局 xml 文件。你应该创建通过使用 xml 描述界面的布局,而不是通过 Java 编码实现界面布局。 | 否 |
values | 包含应用程序的常量资源,包括字符串,样式和颜色。如在 strings.xml 存放各种文字,以及存放不同类型的数据,像 arrays.xml、colors.xml、styles.xml 等。 例如:有一个 main.xml 布局文件,若在其中访问 strings.xml 文件的 hello 常量资源,可以"@+string/hello"方式;而在程序中访问方式为 R.string.hello。一般形式是:R.<资源类型>.<资源名称>。 | 否 |
raw | 包含附加的数据和非 xml 数据,例如 MP3 文件。使用 Eclipse 创建 Android 工程时,默认情况下不会在 res 目录下面创建这个目录,如果需要,可以自己创建。它可以通过 I/O 流访问,如应用中内置音频文件,就可以放置在这个目录下面。访问方式为 R.raw.xxx 方式。 | 否 |
menu | 菜单,主要放置设计的 OptionsMenu 和 ContextMneu 的菜单项。使用 Eclipse 创建 Android 工程时,默认情况下不会在 res 目录下面创建这个目录,如果需要,可以自己创建。 | 否 |
Android 4.1 | 该文件夹下包含 android.jar 文件,这是一个Java 归档文件,其中包含构建应用程序所需的所有的Android SDK 库(如 Views、Controls)和 APIs。通过 android.jar 将自己的应用程序绑定到 Android SDK 和 Android Emulator,这允许你使用所有 Android 的库和包,且使你的应用程序在适当的环境中调试。 | 是 |
project.properties | 记录项目中所需要的环境信息,比如 Android 版本等。 例如:关于 Android API 的信息 android-19,表明采用的是 Android 4.4.2。最近调试 oschina 项目,该项目必须是 android-15,即 Android 4.0.3 版本。 |