一個APP一定會有一大堆檔案要使用、例如圖片、聲音、文字等,所以現在來學習如何管理這些資源。一樣從官網學習。
根據不同的裝置,可提供替代資源,讓系統在runtime時決定該用哪些資源。例如不同大小的螢幕要使用不同大小的圖片、多國語言包等。
APP的所有資源都會透過R class生成一個整數id,所以我們可根據這些id來使用這些資源。
所有資源都被放在res/資料夾底下,最好要有清楚的分類,免得很難找。官網提供很多子資料夾命名規則,如color/、drawable/等,使用時再去看就好。
例如,下圖為開啟一個空的Android Project後,default res資料夾的內容。可看出裡面不只可放png檔,也可放xml檔:
注意:不可將檔案直接放在res/目錄底下,會編譯錯誤。
替代資源的命名規則為
<resources_name>-<config_qualifier_1>[-<config_qualifier_2>...]
例如:
res/
drawable/
hellp.png # default顯示的圖片
drawable-night/
hello.png # 晚上顯示的圖片,檔名要一樣
drawable-xlarge-notnight/
hello.png # 超大螢幕&白天顯示的圖片,檔名要一樣
# config_qualifier的順序要跟官網上的順序一樣
官網也提供有支援的config-qualifier名稱可使用,一樣要用時再看就好。不過要注意每個Android版本的支援度。
把這些資源命名寫進xml檔,編譯之後就可在R class底下找到這些資源。工具aapt會自動產生R.java,每次編譯都會自動更新。