一个简单的文件层级:

res/目录在各种子目录中包含了所有资源。这里有一个图片资源,两个布局资源和一个字符串资源文件,下表给出了在项目中res/目录里面支持的资源。

替代资源
应用程序需要为特定的设备提供替代的资源支持。比如,为不同的屏幕分辨率提供替代的图片资源,为不同的语言提供替代的字符串资源。在运行时,Android检测当前设备配置,并为应用程序加载合适的资源。
要为特定的配置的确定一系列替代资源,遵循如下的步骤:
在res/下创建一个新的目录,以<resource_name>_<config_qualifier>的方式命名。这里的resource_name是上表中提到的任意资源,如布局、图片等。qualifier将确定个性的配置使用哪些资源。可以查看官方文档了解不同类型资源的一个完整qualifier列表。
在这个目录中保存相应的替代资源,这些资源文件必须与下面例子中展示的默认资源文件名一致,然而这些文件将确定的内容进行替代。例如:虽然图片的文件名一样,但高分辨率的屏幕,图片的 分辨率也会高。
下面例子,指定默认屏幕的图片和高分辨率的替代图片。

另外一个例子,指定默认语言的布局和阿拉伯语言的替代布局。

访问资源
在应用程序开发中,需要访问定义好的资源,是通过代码或通过xml文件,
在代码中访问资源
当Android应用程序被编译,生成一个R类,其中包含了所有res/目录下资源的ID。可以使用R类,通过子类+资源名或者直接使用资源ID来访问资源。
实例1 访问res/drawable/myimage.png,并将其设置到ImageView上,可以使用以下代码:

第一行代码用R.id.myimageview来在布局文件中获取定义为myimapeview的ImageView。第二行用R.drawable.myimage来获取在res/的drawable子目录名为myimage的图片。
实例2 res/values/string.xml有如下定义:

现在可以在ID为msg的TextView对象上使用资源ID来设置文本,具体如下:

实例3 考虑如下定义的布局res/layout/activity_main.xml

这个应用程序代码将为活动价在这个布局,onCreate()方法中如下:

在xml中访问
下面的xml资源文件res/values/string.xml,其中包含一个颜色和一个字符串资源。

在下面的布局文件中使用这些资源来设置文本颜色和文本内容:
