Android应用程序架构之res
res/drawable 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源。
res/layout 专门存放xml界面文件,xml界面文件和HTML文件一样,主要用于显示用户操作界面。
res/values 专门存放应用使用到的各种类型数据。不同类型的数据存放在不同的文件中,如下:
· strings.xml 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源。它的作用和struts中的国际化资源文件一样。
<?xml version="1.0" encoding="UTF-8"?> <resources> <string name="hello">Hello</string> </resources>
· arrays.xml 定义数组。
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="colors"> <item>red</item> <item>yellow</item> <item>green</item> <item>blue</item> </string-array> </resources>
· colors.xml 定义颜色和颜色字串数值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源。例子如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <resources> 4 5 <color name="contents_text">#ff0000</color> 6 7 </resources>
· dimens.xml 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源
<?xml version="1.0" encoding="UTF-8"?> <resources> <dimen name="key_height">50dip</dimen> </resources>
· styles.xml 定义样式。
1 <?xml version="1.0" encoding="utf-8"?> 2 3 <resources> 4 5 <style name="itcastText" parent="@style/Text"> 6 7 <item name="android:textSize">18sp</item> 8 9 <item name="android:textColor">#0066FF</item> 10 11 </style> 12 13 </resources>
res/anim/ 存放定义动画的XML文件。
res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件。
res/raw/ 该目录用于存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。 为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID) , 参数ID形式:R.raw.somefilename。