本章主要介紹了Android應用資源的相關內容,Android應用資源是一種非常優秀、高解耦的設計,通過使用資源檔,Android應用可以把各種字串、圖片、顏色、介面布局等交給XML檔案組態管理,避免在Java代碼中以寫入程式碼方式直接定義這些內容。學習這眾多的資源,只需抓住在Java代碼中擷取的方法和在XML檔案中的配置元素,使用方法都是相似的。書最後還介紹了Android應用的國際化。!
【知識點】·在Android應用中使用資源: ①在Java代碼中使用資源清單項,Android SDK會在編譯應用時在R類中為/res目錄下所有資源建立索引項目,因此在Java代碼中訪問資源主要通過R類來完成。 ②在Java代碼中訪問實際資源,大部分情況下,應用的API允許直接使用int類型的資源清單項代替應用資源;需要使用實際的Android資源是,可以藉助Resources類,Resources類稱為“Android資源訪問總管家”,提供了大量方法來根據資源清單ID擷取實際資源。 ③在XML中使用資源,@[<package_name>:]<resource_type>/<resource_name>
·使用原始XML資源: Android應用中一些初始化的配置資訊、應用相關的資料資源需要儲存,一般推薦使用XML檔案來儲存,這種資源就稱為原始XML資源。原始XML資源一般儲存在/res/xml路徑下,當建立應用時開發人員需手動建立xml目錄。 大部分時候,可以直接調用getXml(int id)方法來擷取XML文檔,並對該文檔進行解析,預設使用內建的Pull解析器來解析。
·國際化資源: 字串訊息:開發人員需為values目錄添加不同語言國家版本,values-語言代碼-r 國家代碼 圖片:為drawable目錄添加不同語言國家版本,drawable-語言代碼-r 國家代碼
【問題】·問:Android預設使用內建Pull解析器解析XML檔案,Pull解析器? 答:常見的XML解析方式有三種,DOM、SAX、Pull,Android系統中推薦使用Pull。Pull解析器是一個開源的Java項目,Android系統內部解析XML檔案均為此種方式,也可用於JavaEE項目。Android SDK中已經整合了Pull解析器,無需添加任何jar檔案。Pull解析器運行方式與SAX類似,提供各種事件的判斷。其官方網站:http://xmlpull.org/。使用Pull解析器解析XML檔案:① Xml.newPullParser() 獲得解析器② parser.setInput(in, "UTF-8") 設定輸入資料流以及編碼③ parser.next() 擷取下一個解析事件,得到一個事件代碼④XmlPullParser中定義了常量來標識各種解析事件START_DOCUMENT、END_DOCUMENT 、START_TAG 、END_TAG 、TEXT