http://www.oschina.net/question/565065_74799
R类与资源文件关系说明
1. 静态类drawable类对应res文件夹中的drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹,drawable类中每个整型的静态常量名与这三个文件夹中的图片资源文件相同(不含扩展名),这三个文件夹中相同文件名的资源对应同一个整型变量,Android系统会根据不同类型的屏幕分辨率,自动选取合适的图片资源。
2. 静态类layout类对应res文件夹中的layout文件夹,layout文件夹中的每个布局文件在layyout类中都会有一个与文件名相同的整型静态变量。
3. 静态类string对应res/values文件夹中每个XML文件中的字符串资源,如上图中的strings.xml文件定义如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello"> Hello World, HelloWorld!</string>
<string name="app_name">HelloWorld</string>
</resources>
string类使用中每个静态常量名与<string>元素中name属性值相同。
四.扩展说明
1. 资源文件与清单文件AndroidManifest.xml
A. <application>元素中的android:icon属性会通过@drawable/icon的方式引用drawable资源文件夹中定义的icon.png图片作为Android桌面的启动图标; android:label会通过 @string/app_name的方式来引用values资源文件夹中XML文件中name属性值是app_name的<string>元素,并把<string>元素值作为Android桌面启动图标下方的应用程序名称。
B. <activity>元素中的android:label属性通过@string/app_name方式来引用name属性值是app_name的<string>元素值,作为Activity的标题。
2. res文件夹下的所有文件不要使用大写字母命名。
3. 不要试图修改R类中的内容,Android开发工具会自动生成会维护这个静态类
4. Activity创建时会调用setContentView()方法把布局设置到Activity中
5. drawable、layout、values文件中没有文件数量的限制,可以根据需要定义多个资源文件,其中在drawable和layout文件中每追加一个文件,在drawable和layout静态类中就会自动生成一个与文件名相同整型静态变量。在values文件夹中每追加一个XML文件,文件中<string>元素的name属性值都会在string静态类中对应一个与属性值相同的静态整型常量。