一个Android项目是通过一些有层次结构的目录来管理的,通过Eclipse新建一个Android Application Project,可以看到Eclipse帮我们建立了如下的目录结构:
其中res目录、src目录、AndroidManifest.xml文件是Android项目必需的,其他目录和文件都是可选的。
- res目录存放的是Android项目的各种资源文件,比如layout目录存放的是界面布局文件,values目录下则存放各种XML格式的资源文件,例如字符串资源文件:strings.xml;颜色资源文件:colors.xml;尺寸资源文件:dimens.xml,等等。drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi这4个子目录则分别存放低分辨率、中分辨率、高分辨率、超高分辨率的4种图片文件,以适应不同屏幕尺寸的Android设备,Android系统会自动根据屏幕分辨率选择合适的图片资源,这个不需要开发人员操心,在实际的开发中,如果将同一种分辨率的图片复制4份分别放到以上4个目录中,或者将一张图片放到了分辨率不合适的目录中,就会出现图片实际显示偏小或者偏大。
- src目录只是一个普通的、保存Java源文件的目录。
- AndroidManifest.xml文件是Android项目的系统清单文件,它用于控制Android应用的名称、图标、访问权限等整体属性。除此之外,Android应用的Activity、Service、ContentProvider、BroadcastReceiver这4大组件都需要在该文件中配置。
- gen目录是由系统自动生成的,目录底下的R.java文件保存了所有资源文件的清单,它是由Android Asset Packaging Tool(AAPT)工具根据应用中的资源文件来自动生成的。我们在XML文件中配置资源的时候可以为每个资源配置一个字符串类型的ID,如下:
android:id="@+id/my_textview"
这个ID就相当于一个名字,方便我们记忆。而R.java文件会将每个资源的ID映射成唯一的一串数字:
public static final class id {
public static final int my_textview=0x7f080000;
}
我们在程序中使用资源的ID的时候,系统就会到R.java文件中去查找ID对应的数字,最终是通过这一串数字来定位到一个资源的。所以可以将R.java文件看成是Android应用的一个“资源字典”或者索引。
R.java文件应当由系统自动维护,程序员不应该去编辑它。要想让R.java文件自动更新,需要在Eclipse的Project菜单下勾选Build Automatically(自动构建)选项。如果发现勾选了这一选项,R.java文件还是没有自动更新,那么可以在Project菜单下选择Clean,在弹出的窗口中选择Clean project selected below,同时在下方勾选你的项目,点确定后Eclipse会重新构建你的项目。如果这样操作以后R.java文件还是没有自动生成,那么可能就是你的项目中存在错误,通常都是资源文件中存在错误,比如资源ID有冲突,图片、文件等资源的文件名包含大写字母、非法字符等,这些错误一般不容易发现。
- Android4.4 目录中是当前编译所使用的Android库,目录名称表示版本。
- libs 存放的是导入到项目中的一些第三方jar包。
- Android Private Libraries 放在libs目录下的第三方jar包会自动收录到此目录下,此目录由系统维护,不需要用户干预。
- bin 目录中保存的是项目编译后生成的文件。
- assets 目录是存放应用需要用到的音视频文件。
- Android Dependencies 项目所依赖的第三方库工程会自动打成jar包,并收录到此目录下,该第三方库工程所依赖的jar包会一并导入,此目录由系统维护,不需要用户干预。
- proguard-project.txt 文件是和混淆编译有关的,这在使用混淆编译打包Apk的时候才需要用到,暂时不需要了解。
- project.properties文件是项目属性文件
以上就是一个Android项目常见的目录结构,平时我们接触最多的就是src目录、res目录和AndroidManifest.xml文件,关于这三个目录和文件的详细介绍见后续文章。
转载请指明原文出处:http://blog.csdn.net/fxdaniel/article/details/41381129