本文轉自:http://blog.sina.com.cn/s/blog_77cb34170100udpg.html
res文件夾裏面的多個文件夾的各自介紹(來自網上的Android開發指南中文版內容):
目錄Directory
|
資源類型Resource Types
|
res/anim/
|
XML文件,它們被編譯進逐幀動畫(frame
by frame animation)或補間動畫(tweened
animation)對象
|
res/drawable/
|
.png、.9.png、.jpg文件,它們被編譯進以下的Drawable資源子類型中:
要獲得這種類型的一個資源,可以使用Resource.getDrawable(id)
位圖文件
9-patches(可變尺寸的位圖)
爲了獲取資源類型,使用mContext.getResources().getDrawable(R.drawable.imageId)
注意:放在這裏的圖像資源可能會被aapt工具自動地進行無損壓縮優化。比如,一個真彩色但並不需要256色的PNG可能會被轉換爲一個帶調色板的8位PNG。這使得同等質量的圖片佔用更少的資源。所以我們得意識到這些放在該目錄下的二進制圖像在生成時可能會發生變化。如果你想讀取一個圖像位流並轉換成一個位圖(bitmap),請把圖像文件放在res/raw/目錄下,這樣可以避免被自動優化。
|
res/layout/
|
被編譯爲屏幕布局(或屏幕的一部分)的XML文件。參見佈局聲明(Declaring
Layout)
|
res/values/
|
可以被編譯成很多種類型的資源的XML文件。
注意: 不像其他的res/文件夾,它可以保存任意數量的文件,這些文件保存了要創建資源的描述,而不是資源本身。XML元素類型控制這些資源應該放在R類的什麼地方。
儘管這個文件夾裏的文件可以任意命名,不過下面使一些比較典型的文件(文件命名的慣例是將元素類型包含在該名稱之中):
array.xml 定義數組
colors.xml 定義color
drawable和顏色的字符串值(color string
values)。使用Resource.getDrawable()和Resources.getColor()分別獲得這些資源。
dimens.xml定義尺寸值(dimension
value)。使用Resources.getDimension()獲得這些資源。
strings.xml定義字符串(string)值。使用Resources.getString()或者Resources.getText()獲取這些資源。getText()會保留在UI字符串上應用的豐富的文本樣式。
styles.xml 定義樣式(style)對象。
|
res/xml/
|
任意的XML文件,在運行時可以通過調用Resources.getXML()讀取。
|
res/raw/
assets/
|
直接複製到設備中的任意文件。它們無需編譯,添加到你的應用程序編譯產生的壓縮文件中。要使用這些資源,可以調用Resources.openRawResource(),參數是資源的ID,即R.raw.somefilename。
assets下也可以放置任意文件,使用Activity.this.getAssets().open("519.txt");打開
|
*res/raw和assets的相同點: |
1.兩者目錄下的文件在打包後會原封不動的保存在apk包中,不會被編譯成二進制。
*res/raw和assets的不同點:
1.res/raw中的文件會被映射到R.java文件中,訪問的時候直接使用資源ID即R.id.filename;assets文件夾下的文件不會被映射到R.java中,訪問的時候需要AssetManager類。
2.res/raw不可以有目錄結構,而assets則可以有目錄結構,也就是assets目錄下可以再建立文件夾