Android应用程序的目录结构

1.src目录
src目录中存放的是该项目的源代码,其内部结构会根据用户所声明的包自动组织,该目录的组织方式为src/aaa/bbb/HelloWord.java,其中aaa/bbb为包名软件开发人员在项目开发过程中,大部分时间是对该目录下的源代码文件进行编写。

2.gen目录
该目录下的文件全部都是ADT自动生成的,一般并不需要去修改,实际上该目录下只定义了一个R.java文件,该文件相当于项目的字典,为项目中用户界面、字符串、图片等资源都会在该类中创建其惟一的ID,当项目中使用这些资源时,会通过该ID得到资源的引用。

3.Android2.x
该目录中存放的是该项目支持的jar包,同时其中还包含项目打包时需要的META-INF目录。

4.assets目录
该目录用于存放项目相关的资源文件,例如文本文件等,在程序中可以使用“getResources.getAssets().open("text.txt")”得到资源文件的输入流InputStream对象。

5.res目录 (不支持深度子目录)

Invalid file name: must contain only [a-z0-9_.] 文件命名方式 只能是[a-z0-9_.] 中的,否则报错,R.java不会自动生成 该 目录用于存放应用程序中经常使用的资源文件,其中包括图片、声音、布局文件以及参数描述文件等,其中包括多个目录,

其中以drawable 开头的三个文件 夹用于存储.png、.9.png、.jpg等图片资源(.9.png是Android特有的图片格式,可以根据情况进行拉伸,达到不变形的效 果),layout文件夹 存放的是应用程序的布局文件,raw 用于存放应用程序所用到的声音等资源,values 存放的则是所有xml格式的资源描述文 件,例如字符串资源的描述文件strings.xml、样式的描述文件styles.xml、颜色描述文件colors.xml、dimens.xml尺 寸描述文件以及数组描述文件arrays.xml等。

6.AndroidManifest.xml文件
该文件为应用程序的系统控制文件,其中对应用程序的权限、应用程序中Activity、Service等进行声明,同时还对程序的版本进行说明。

7.default.properties文件
该文件为项目的配置文件,从不需要人为改动,系统会根据情况自动对其进行管理,其中主要描述了项目的版本等基本信息。

res/raw和assets文件夹来存放不需要系统编译 成二进制 的文件,例如字体文件等,这两个文件夹有很多相同的地方,例如都可以把文件夹下的东西原封不动的拷贝到应用程序目录下,但是两个文件夹也有一些不 同的地方,首先就是访问方式不同,res/raw文件夹不能有子文件夹 ,文件夹下的资源可以使用getResources().openRawResource( R.raw.id)的方式获取到,而assets文件夹可以自己创建文件夹,并且文件夹下的东西不会被R.java文件索引到,必须使用AssetsManager类进行访问

如果你需要更高的自由度,尽量不受android平台的约束,那么/assets这个目录就是你的首选了,因为支持深度子目录

另外,一些低版本的android系统对res/raw和assets文件夹资源大小有限制(<1M,其实res/raw和assets文件 夹下的文件在android系统底层处理机制是一样的),android2.2好像放宽(或者取消)了这个限制(至少可以存放>10M,具体没有测 试。)

-------------------------------------------------------------

更多相关文章

  1. Android(安卓)Init进程源码分析
  2. 离线下载android sdk
  3. Android(安卓)+ eclipse +ADT安装完全教程
  4. 删除Android工程中冗余资源
  5. ubuntu 9.04上下载android源码
  6. 使用maven构建android 的apk包并自动签名
  7. Android(安卓)- Unparsed aapt error(s)错误的处理方法
  8. 8个常用的Android开发工具
  9. Android(安卓)MP3音乐播放器总结

随机推荐

  1. Android保存数据的技巧
  2. Android 使用Android Studio + Gradle 或
  3. Android studio使用笔记。。。
  4. 【转】Android ADB命令集
  5. android环境变量设置以及adb的常用命令
  6. Android笔记三(相对布局)
  7. android:ellipsize的使用
  8. 【Android】线性布局和相对布局的比较
  9. Android布局文件中的各种属性
  10. Android 模拟器 无法上网问题