Android会基于当前的硬件、设备和语言配置来为某个资源标识符选择最合适的值。
1.在代码中使用资源
使用静态类R来访问资源。R类是基于外部资源而生的类,并且是在项目编译的时候创建的。R的每一个子类都把它的相关资源表示成变量的形式,例如R.string.app_name等等,不过其只是一个整数,代表资源在资源表中的位置。还需要构造函数或者类似setContentView的方法去传递资源变量。
当需要一个资源本身的实例时,需要使用辅助的方法把它们从资源表中提取出来。Resources类为每一个可用的资源类型包含了getter,通常是通过传递你需要资源实例的ID来作用。例如:
Resources myResource = getResources();
String[ ] stringarray = myResource.getStringArray(R.array.string_array);
2.在资源内引用资源
对于布局和样式很适用。引用一个资源并把它作为其他 XML资源中的属性值。使用@符号,就可以在一个资源中引用另一个资源。
attribute = "@[packagename: ] resourcetype/resourceidentifier";
3.使用系统资源
在代码中使用系统资源借助类android.R类。而在XML中访问系统资源的话则需要制定android作为包的名称,如
android:text = "@android:string/httpErrorBadUrl";