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支持的资源
目录 资源类型 描述
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

Ogg全称应该是OGGVobis(oggVorbis)是一种新的音频压缩格式,类似于MP3等的音乐格式。Ogg是完全免费、开放和没有专利限制的。
 

原文地址:https://www.cnblogs.com/hakuci/p/2311644.html