對於Android來說,資源的引用都是通過特定的配置文件來進行管理的,這有利於資源的統一,整合以及調用。而在Android中,不只圖像、音頻這些爲資源,字符串也是作爲一種資源在被管理。Android操作系統則是通過XML文件來將這些資源進行關聯操作,統一管理。
6.1 資源類型
資源類型 |
所需目錄 |
文件名 |
XML標記 |
字符串 |
/res/values/ |
strings.xml |
<string> |
複數字符串 |
/res/values/ |
strings.xml |
<plurals>、<item> |
字符串數組 |
/res/values/ |
strings.xml |
<string-array> <item> |
布爾型 |
/res/values/ |
bools.xml |
<bool> |
顏色 |
/res/values/ |
colors.xml |
<color> |
顏色狀態表 |
/res/color/ |
這類文件一般是用來描述組件的狀態改變的 |
<selector> <item> |
尺寸 |
/res/values/ |
Dimens.xml |
<dimen> |
整形 |
/res/values/ |
integers.xml |
<integer> |
整形數組 |
/res/values/ |
integers.xml |
<integer-array> <item> |
混合類型數組 |
/res/values/ |
Arrays.xml |
<array>、<item> |
簡單Drawable圖形 |
/res/values/ |
drawables.xml |
<drawable> |
圖像 |
/res/drawable/ |
單個圖片的文件名,根據自己的需要決定名字 |
支持圖像文件的文件名 |
補間動畫 |
/res/anim/ |
根據需要自行定義 |
<set>、<alpha>、 <scale>、<translate>、 <rotate> |
逐幀動畫 |
/res/drawable/ |
根據需要自行定義 |
<animaton-list>、 |
菜單 |
/res/menu/ |
根據需要自行定義 |
<menu> |
XML文件 |
/res/xml/ |
根據需要自行定義 |
自定義 |
原始文件 |
/res/raw/ |
自定義 |
自定義 |
佈局 |
/res/layout/ |
main.xml等 |
多種,佈局定義 |
樣式和主題 |
/res/values/ |
styles.xml、themes.xml |
<style> |
表6.1.1 資源類型表
注意:這些文件的所有管理都是通過R.java來進行操控的,一旦這些文件中的某個路徑不正確,那麼很可能會導致R.java文件的生成錯誤,無法產生R.java文件。這也是爲什麼有些人會出現無法找到R.class的錯誤緣故。
另:所屬目錄必須爲特定的,因爲資源名稱繼承自特定資源的文件名。
6.2 java訪問資源
對於利用java代碼直接訪問資源,可以通過getResources()方法來實現。
6.3 使用資源
除了普通使用資源,如上6.2所述的意外,在xml中使用資源的時候,特別是字符串類型的資源,可以通過HTML的方式,對字符串進行修飾。譬如:<b>、<i>、<u>這三種方式可以實現字符串的加粗、斜體、下劃線的效果。
除了上述的使用外,還可以創建帶有格式化的字符串,不過當你需要加粗、斜體和下劃線標記的時候需要進行轉義。
例如:
<string name="testWord">Hello world!The year <u>%1$d</u> and the month <u>%2$d</u>! I\'m <i>%3$s</i>.</string>
注意:如果想要將他們轉化爲正常文本,還需要將返回過來的字符串通過Html.fromHtml();方法轉化才行。
其他資源的使用大同小異,在這裏就不一一詳述。具體的之後會有所涉及到。
6.4 小結
總結了一些大概的資源引用,具體的在之後的章節中述說。