前言
本章內容為Android開發人員指南的Framework Topics/Application Resources章節,版本為Android 3.2 r1,翻譯來自:"CodeGuy",歡迎訪問他的部落格:"http://www.cnblogs.com/CodeGuy/",再次感謝"CodeGuy" !期待你一起參與翻譯Android的相關資料,聯絡我over140@gmail.com。
聲明
歡迎轉載,但請保留文章原始出處:)
部落格園:http://www.cnblogs.com/
Android中文翻譯組:http://goo.gl/6vJQl
Application Resources
譯者署名:CodeGuy
譯者連結:http://www.cnblogs.com/CodeGuy/
版本:Android 3.2 r1
原文
http://developer.android.com/guide/topics/resources/index.html
當你寫程式的時候應該習慣於把一些程式需要用到的資源,例片和字串,分開並獨立地儲存在你的程式碼之外,這樣你就可以獨立地維護這些資源檔。將資源檔獨立於代碼之外,這樣就允許你給程式提供更多可選的資源來支援一些特殊的裝置配置,例如不同語言和不同螢幕大小。隨著越來越多的Android裝置開始支援不同的配置,這變得越來越重要。為了讓這些Android裝置相容各種不同的配置,你必須得組織你的工程下面的res/ 目錄,根據類型和配置,通過不同的子目錄來對資源進行分組管理。
對於任意類型的資源,你都可以為你的程式指定預設的和多種可選的資源:
* 預設(預設)的資源應該是那些可以在忽視裝置的配置的情況下使用的或者當沒有其他可匹配當前配置的可替代資源的情況下使用的資源。
* 可替代資源是那些你為特定配置而設定的資源。一個特定的配置對應一組特定的資源,然後給該資源檔夾添加一個合適的配置限定詞作為命名。
(譯者註:一組特定的資源即你的工程目錄下的一個資源檔夾,res/layout這個布局檔案夾)
例如,當你預設的UI布局儲存在res/layout目錄下,你可能要設定另一個不同的UI布局儲存在res/layout-land/這個目錄下,在你的螢幕是橫向的時候使用。Android通過把裝置當前的配置資訊匹配到你的資源檔目錄下的命名,自動調用恰當的資源。
圖1. 兩個裝置使用的都是預設(預設)的資源
圖2.兩種不同的裝置配置,一個使用了可替代的資源
圖1給我們展示了在沒有可利用的可替代資源的情況下,一個應用程式的一組預設的資源是如何應用到不同的裝置配置上的。圖2 給我們展示了相同的應用程式在具有一組可替代的資源,並且每種資源限定於一種裝置配置的情況下,這兩種裝置配置就會使用不同資源。
以上資訊僅僅介紹了應用程式資源是如何應用在Android上的。下面的文檔就如何組織管理你的應用程式中的資源、如何指定可替代的資源、如何在你的程式中使用它們等等提供了完整的指南:
Providing Resources
這篇文檔會說明你可以在你的應用程式中使用什麼樣的資源檔,這些資源檔分別儲存在哪裡,如何為特定的裝置配置建立可替換的資源。
Accessing Resources
這篇文檔會說明如何使用你提供的資源,或者說如何通過你的程式碼或者從其他XML類型的資源檔裡面引用資源檔。
Handling Runtime Changes
這篇文檔會說明Activity處於運行狀態時時如何管理配置當配置發生改變時。
Localization
這篇文檔會一個自下而上地指導你如何使用可替換的資源檔來初始化你的應用程式雖然這隻是一個特定用途的替代資源,但是這對於吸引更多使用者是非常重要的。
Resource Types
這篇文檔介紹各種你可以引用的各種資源類型,描述資源的XML元素、屬性和文法。例如,這個引用將告訴你如何為應用程式的菜單,圖片或顏色,動畫等等建立一個資源。