編輯:關於Android編程
將UI中的字符串從應用代碼中提取出來並存放在額外的文件中是一個好習慣。Android在每個項目中通過一個資源目錄讓這件事變得很簡單。
如果你使用Android SDK工具創建了一個項目,這個工具會在你的項目的頂級目錄下創建一個 res/
目錄。在這個目錄下有很多子目錄用來存放多種類型的資源。同樣有一些默認的文件,例如res/values/strings.xml
,用來存放字符串。
為了支持更多的語言,在res/目錄下創建附加的values
目錄,文件名使用values加上連字符號再加上國際標准化語言碼。例如,values-es/
目錄包含了語言碼為“es”的區域的簡單的資源文件。Android系統會根據設備運行時設置的區域設定來加載適當的資源文件。更多的信息,請參閱Providing
Alternative Resources。
一旦你決定要支持這種語言,要為它創建相應的資源目錄以及字符串文件。例如:
MyProject/ res/ values/ strings.xml values-es/ strings.xml values-fr/ strings.xml
為每個區域的文件添加字符串的值。
在運行時,Android系統會根據設備運行時設置的區域設定來加載適當的資源文件。
例如,下面是不同語言的不同資源文件。
English (默認區域), /values/strings.xml
:
My Application Hello World!
Spanish, /values-es/strings.xml
:
Mi Aplicación Hola Mundo!
French, /values-fr/strings.xml
:
Mon Application Bonjour le monde !
提示: 你可以為任何類型的資源使用區域限制(或者任何配置限制),例如如果你想要為不同的區域提供不同的bitmap drawable。更多信息,請參閱Localization。
你可以使用在
元素的name
屬性中指定的字符串名稱在代碼或者其他XML文件中引用該資源。
在你的源代碼中,你可以使用R.string.
的語法來引用一個字符串資源。
例如:
// Get a string resource from your app'sResources
String hello =getResources()
.getString(R.string.hello_world); // Or supply a string resource to a method that requires a string TextView textView = new TextView(this); textView.setText(R.string.hello_world);
在其他的XML文件中,你可以使用@string/
語法來引用字符串資源。
例如:
Android的UI訪問是沒有加鎖的,這樣在多個線程訪問UI是不安全的。所以Android中規定只能在UI線程中訪問UI。但是有沒有極端的情況?使得我們在子線程中訪問UI
恰逢2014 Google I/O大會,不難看出安卓在Google的推進以及本身的開放性作用下,已經快延生到生活的各個方面了,從安卓智能手機、平板,到可穿戴的Androi
一,系統啟動Android設備的開機流程總得來分可以分為三部分:加載引導程序引導程序bootloader是開機運行的第一個小程序,因此它是針對特定的主板與芯片的。boot