一、 资源的存储方式
二、在xml布局文件中使用资源
三、在java代码中使用资源
四、各种类型的资源
2. Android应用资源的类型分为两大类:
(1)存放在R文件夹的各种资源,如常见的字符串,颜色,android根据资源自动生成的R类的id索引,通过id自动找到对应的资源。
(2)Assert中的应用资源,又叫原生资源,比如音频视频的raw原生资源,与res不同的是不会在R类生成资源的ID索引。
在res目录下,不同的资源对应对应res目录下的子目录,如下图所示:
目录 | 存放资源 |
/res/animator | 属性动画的xml文件 |
/res/anim | 补间动画的xml |
Res/drawable | 该目录下存放各种位图文件(.png, 9.png, .jpg, .gif)等。除此之外也可能是能编译如下的各种drawable对象的xml文件: BitmapDrawable NinePathDrawable stateListDrawable shapeDrawable对象 AnimationDrawable对象 Drawable的其他各种子类的对象 |
/res/layout | 存放各种布局文件。如relativelayout, linelayout |
/res/menu | 应用程序定义的各种菜单资源,包括选项菜单、子菜单、上下文菜单 |
/res/raw | 存放各种类型的原生资源(如音频视频文件)。在java代码中可通过调用Resources对象的openRawResource(int id)来获取资源的二进制流,实际上,如果要使用原生资源,推荐把原生资源放到/asset目录下,然后使用AssetManager来访问 |
/res/values | 存放各种简单值的xml文件。包括字符串值、整数值、数组等。而且这些资源的根元素都是<resource 存放各种简单值的xml文件。包括字符串值、整数值、数组等。而且这些资源的根元素都是<resource…/>,当我们为该<resource…/>元素添加不同的子元素则代表不同的资源,例如: String/integer/bool子元素:代表字符串、整数或bool值 Color:代表添加一个颜色值 Array子元素或者string-array,int-array:代表添加一个数组 Style:添加一个样式 Dimen:代表添加一个尺寸 ….. 由于各种简单值都可定义在/res/value目录下的资源文件,如果在同一份资源文件中定义各种值,会增加程序维护程度。Android建议使用不同的文件来存放不同类型的值 Arrays.xml :定义数组资源 color.xml : 定义颜色值 Dimen.xml:定义尺寸值 String.xml:定义字符串资源 Style.xml:定义样式资源 …/>,当我们为该<resource…/>元素添加不同的子元素则代表不同的资源,例如: |
String/integer/bool子元素:代表字符串、整数或bool值
Color:代表添加一个颜色值
Array子元素或者string-array,int-array:代表添加一个数组
Style:添加一个样式
Dimen:代表添加一个尺寸
…..
由于各种简单值都可定义在/res/value目录下的资源文件,如果在同一份资源文件中定义各种值,会增加程序维护程度。Android建议使用不同的文件来存放不同类型的值
Arrays.xml :定义数组资源
color.xml : 定义颜色值
Dimen.xml:定义尺寸值
String.xml:定义字符串资源
Style.xml:定义样式资源
/res/xml/
任意原生的xml文件,在java使用Resource.getXML()方法访问