[关闭]
@cxm-2016 2016-09-22T09:07:58.000000Z 字数 1237 阅读 2153

Android:资源(一)——资源类型及存储方式

android no


Android中的应用资源可以分为两大类:

  • 无法通过R类访问的原生资源,保存在/assets目录下
  • 可以通过R类访问的资源文件,保存在/res目录下

一、资源的类型及存储方式

目录 存放资源
/res/animator/ 定义属性动画的XML文件
/res/anim/ 定义补间动画的XML文件
/res/color/ 存放定义颜色列表的XML文件
/res/drawable/ 1,存放位图文件;2,存放可以被编译为Drawable及其子类对象的XML文件
/res/layout/ 存放定义布局的Xml文件
/res/menu/ 存放定义的菜单资源Xml文件
/res/raw/ 存放原生资源的目录,可以通过Resource对象的openRawResource(id)来获取资源的二进制流。但是建议将原生资源文件存放到/assets文件夹下,通过AssetManager访问这些资源
/res/values/ 存放各种简单值的XML文件。
arrays.xml 数组资源
colors.xml 颜色值资源
dimens.xml 尺寸资源
strings.xml 字符串资源
styles.xml 样式资源
/res/xml/ 原生XML文件,这里存放的XML文件不会被编译,通过Resource.getXML()方法访问

二、使用资源

2.1 在Java代码中使用资源清单项

  1. //从Drawable资源中加载图片,并设置为该窗口的背景
  2. window.setBackgroundDrawableResource(R.drawable.bac)
  3. //从String资源中获取指定的字符串资源,并设置该窗口的标题
  4. window.setTitle(resources.getText(R.string.app_name))

2.2 在Java代码中直接访问资源

我们可以不通过R类,直接使用Resources对象去获取资源

  1. //获取String类型的字符串
  2. var app_name = resources.getText(R.string.app_name)
  3. //获取Drawable对象
  4. var logo = resources.getDrawable(R.drawable.bac)
  5. //获取数组
  6. val array = resources.getIntArray(R.array.fibonacci)

数组arrays.xml表示如下

  1. <resources>
  2. <array name="fibonacci">
  3. <item>1</item>
  4. <item>1</item>
  5. <item>2</item>
  6. <item>3</item>
  7. <item>5</item>
  8. <item>8</item>
  9. </array>
  10. </resources>

2.3 在XML中使用资源

。。。。。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注