学习-Android应用资源

2016-04-10 / 2 阅读 / Android

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()方法进行访问
使用资源

按使用资源的位置可以分为两类:

  1. Java中使用
    Android中为res文件创建了索引。因此在Java中一般是通过R.. 来访问.
    格式:[package_name]R.resource_type.resource_name

  • package_name:包名

  • resource_type:不同资源的子类

  • resource_name:资源名称

如下访问string.xml中的字符串,这边只是指定id

btn.setText(R.string.app_name );

还可以这样访问实际的资源

String string = getResources().getString(R.string.app_name);
  1. XML文件中使用
    格式:@[package_name: ]resource_type/resource_name

  • package_name:包名

  • resource_type:不同资源的子类

  • resource_name:资源名称

例如布局中使用:
android:text="@string/app_name"
android:background="@color/red"
android:height="@dimen/height"
相关推荐