Android应用资源可分为2大类:
无法通过R清单类访问的原生资源,保存在assets目录下。
可以通过R清单类访问的资源,保存在res目录下。由AndroidSDK编译时在R类中创建索引。
在res目录下又分不同的种类:
目录 | 存放的资源 |
---|---|
/res/animator | 存放定义属性动画的XML文件 |
res/anim | 存放定义补间动画的XML文件 |
/res/color | 存放定义颜色的XML文件 |
/res/drawable | 存放定义可绘的对象。例如各个.png .9.png .jpg .gif等 |
BitmapDrawable对象 | |
NinePatchDrawable对象 | |
StateListDrawable对象 | |
ShapeDrawable对象 | |
AnimationDrawable对象 | |
Drawable各种子类对象 | |
/res/layout | 存放定义布局XML文件 |
/res/menu | 存放定义各种菜单,包括菜单,子菜单,上下文菜单资源 |
/res/raw | 该目录下存放任意类型的原生资源(比如音频,视频文件),在Java中通过Resource对象的openRawResource(int id)方法来获取该资源的二进制输入流。 |
/res/values | 存放定义简单值的XML文件,这些简单的值包括(字符串,整数值,颜色值,数组等) |
colors.xml: 定义颜色值资源 | |
arrays.xml: 定义数组资源 | |
dimens.xml: 定义尺寸值资源 | |
strings.xml: 定义字符串资源 | |
style.xml: 定义样式资源 | |
/res/xml | 原生XML文件。java中通过Resource.getXML()方法进行访问 |
使用资源
按使用资源的位置可以分为两类:
Java中使用
Android中为res文件创建了索引。因此在Java中一般是通过R.. 来访问.
格式:[package_name]R.resource_type.resource_name
package_name:包名
resource_type:不同资源的子类
resource_name:资源名称
如下访问string.xml中的字符串,这边只是指定id
还可以这样访问实际的资源
XML文件中使用
格式:@[package_name: ]resource_type/resource_name
package_name:包名
resource_type:不同资源的子类
resource_name:资源名称