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目录(不支持深度子目录)
其中以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,具体没有测 试。)
目录 | 资源类型 | 描述 |
---|---|---|
Res\values |
XML
|
保存字符串、颜色、尺寸、类型、主题等资源,可以是任意文件名。对于字符串、颜色、尺寸等信息采用 Key-value形式表示,对于类型、主题等资源,采用其它形式表示 |
Res\layout |
XML
|
保存布局信息。一个资源文件表示一个View或ViewGroup的布局 |
Res\menu |
XML
|
保存菜单资源。一个资源文件表示一个菜单(包括子菜单) |
Res\anim |
XML
|
保存与动画相关的信息。可以定义帧(frame)动画和补间(tween)动画 |
Res\xml |
XML
|
在该目录的文件可以是任意类型的XML文件,这些XML文件可以在运行时被读取。 |
Res\raw |
任意类型
|
在该目录中的文件虽然也会被封装在apk文件中,但不会被编译。在该目录中可以放置任意类型的文件,例如,各种类型的文档、音频、视频文件等 |
Res\drawable |
图像
|
该目录中的文件可以是多种格式的图像文件,例如,bmp、png、gif、jpg等。在该目录中的图像不需要分辨率非常高,aapt工具会优化这个目录中的图像文件。如果想按字流读取该目录下的图像文件,需要将图像文件放在res\raw目录中。 |
assets |
任意类型
|
该目录中的资源与res\raw中的资源一样,也不会被编译。但不同的是该目录中的资源文件都不会生出资源ID |
文件格式:
音频使用oog,http://baike.baidu.com/view/99249.htm