定義字串

字串通常儲存在資原始檔 strings.xml 中。它們是使用 <string> XML 元素定義的。

strings.xml 的目的是允許國際化。你可以為每種語言 iso 程式碼定義 strings.xml。因此,當系統查詢字串’app_name’時,它首先檢查與當前語言對應的 xml 檔案,如果找不到,則在預設 strings.xml 檔案中查詢該條目。這意味著你可以選擇僅本地化一些字串而不是其他字串。

/res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Hello World App</string>
    <string name="hello_world">Hello World!</string>
</resources>

一旦在 XML 資原始檔中定義了字串,它就可以被應用程式的其他部分使用。

應用程式的 XML 專案檔案可以通過引用 @string/string_name 來使用 <string> 元素。例如,應用程式的清單 (/manifests/AndroidManifest.xml)檔案在 Android Studio 中預設包含以下行:

android:label="@string/app_name"

這告訴 android 查詢名為“app_name”的 <string> 資源,以便在應用程式安裝或顯示在啟動器中時用作應用程式的名稱。

另一次你在 android 中使用來自 XML 檔案的 <string> 資源將在佈局檔案中。例如,以下代表一個 TextView,它顯示我們之前定義的 hello_world 字串:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"/>

你還可以從應用程式的 java 部分訪問 <string> 資源。要在 Activity 類中從上面呼叫我們相同的 hello_world 字串,請使用:

String helloWorld = getString(R.string.hello_world);