res是Android项目工程中存放各类的目录,主要包括布局、图形与配置等等。res的子目录主要有:
anim : 存放动画的描述文件 drawable : 存放各类图形的描述文件,包括drawable的描述文件,以及三种图片格式:png(推荐)、jpg(支持)、gif(不推荐,因为ImageView只显示gif的第一帧)。以drawable打头的有好几个目录,分别存放不同分辨率的图片,这些目录的区别详见《Android开发笔记(七)初识Drawable》 layout : 存放页面的布局文件,主要在Acitivity、Fragment以及部分自定义控件中使用 menu : 存放菜单的布局文件 raw : 存放原始格式的文件,一般是二进制的流文件,比如音频文件、视频文件等等 values : 存放各类参数的配置文件,具体的配置文件说明如下 ——arrays.xml : 存放各类数组的定义文件,字符串数组的根节点为string-array,整型数组的根节点为integer-array ——booleans.xml : 存放布尔类型的定义文件,根节点为resources,元素节点为bool ——attrs.xml : 存放自定义控件的属性信息,根节点为resources,元素节点为declare-styleable——attr ——colors.xml : 存放颜色的定义文件,根节点为resources,元素节点为color ——dimens.xml : 存放像素的定义文件,根节点为resources,元素节点为dimen ——ids.xml : 存放控件id的定义文件,根节点为resources,元素节点为item,type为id ——integers.xml : 存放整数类型的定义文件,根节点为resources,元素节点为integer ——strings.xml : 存放字符串类型的定义文件,根节点为resources,元素节点为string ——styles.xml : 存放控件风格的定义文件,根节点为resources,元素节点为style——item xml : 存放其他的xml文件,比如说存放SearchView的searchable.xml属性定义文件,详见《Android开发笔记(二十)顶部导航栏ActionBar》
anim、layout、menu这三个目录下分别是动画、页面和菜单的描述文件,在代码中不会解析出具体的数据结构,使用时只需在调用处填写描述文件的资源id,如R.anim.example、R.layout.example、R.menu.example。
其余目录下面的配置文件,一般需要在代码中解析数据结构,比如说图像、字符串、整型数、二进制流等等。具体的代码调用方式如下:
drawable : 一般使用getResources().getDrawable(R.drawable.example);,gif文件使用getResources().getMovie(R.drawable.example); raw : getResources().openRawResource(R.raw.example); values : ——arrays.xml : 解析字符串数组使用getResources().getStringArray(R.array.city);,解析整型数组使用getResources().getIntArray(R.array.code); ——attrs.xml : 代码中不解析该文件的数据结构,在自定义控件的构造函数中通过如下方式使用:TypedArray attrArray=getContext().obtainStyledAttributes( attrs, R.styleable.example); ——booleans.xml : getResources().getBoolean(R.bool.example); ——colors.xml : getResources().getColor(R.color.example); ——dimens.xml : getResources().getDimension(R.dimen.example); ——ids.xml : 代码中不使用该文件配置,在布局文件中使用为:android:id="@id/..."(注意与一般情况相比去掉了加号) ——integers.xml : getResources().getInteger(R.integer.example); ——strings.xml : getResources().getString(R.string.example); ——styles.xml : 代码中不解析该文件的数据结构,布局文件的使用在控件内部加上style属性:style="@style/example" xml : getResources().getXml(R.xml.example); 点此查看Android开发笔记的完整目录