您的位置:首页 > 移动开发 > Android开发

Android应用程序目录结构及其资源的获取

2012-11-18 02:29 417 查看
src/ java原代码存放目录

gen/ 自动生成目录

gen 目录中存放所有由Android开发工具自动生成的文件.目录中最重要的就是R.java文件.Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件.

res/ 资源(Resource)目录

在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据.具体的见下res目录分析

assets资源目录

Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp

AndroidManifest.xml 项目清单文件

这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限.

default.properties 项目环境信息,一般是不需要修改此文件

res目录分析:
res/drawable 专门存放png、jpg等图像资源.在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源.
    
res/layout 专门存放xml界面文件,xml界面文件和HTML文件一样,主要用于显示用户操作界面.

res/values 专门存放应用使用到的各种类型数据.不同类型的数据存放在不同的文件中,如下:
strings.xml 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源.

arrays.xml 定义数组.
<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string-array name="colors">
		<item>red</item>
		<item>yellow</item>     
		<item>green</item>     
		<item>blue</item>   
	</string-array>
</resources>

colors.xml 定义颜色和颜色字串数值,可在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源.例子如下:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
  <color name="contents_text">#ff0000</color>
</resources>

dimens.xml 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源
<?xml version="1.0" encoding="UTF-8"?>
<resources>
  <dimen name="key_height">50dip</dimen>
</resources>

styles.xml 定义样式.
<?xml version="1.0" encoding="utf-8"?>
<resources>
	<style name="itcastText" parent="@style/Text">
		<item name="android:textSize">18sp</item>
		<item name="android:textColor">#0066FF</item>
	</style>
</resources>


res/anim/ 存放定义动画的XML文件.

res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件.

res/raw/ 该目录用于存放应用使用到的原始文件,如音效文件等.编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里. 为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID) , 参数ID形式:R.raw.somefilename.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: