Android 定义字符串

示例

字符串通常存储在资源文件中strings.xml。它们是使用<string>XML元素定义的。

的目的strings.xml是允许国际化。您可以strings.xml为每种语言的iso代码定义一个。因此,当系统查找字符串'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/string_name。例如,在Android Studio中,默认情况下,应用的清单(/manifests/AndroidManifest.xml)文件包括以下行:

android:label="@string/app_name"

这告诉android寻找一个<string>名为“ app_name”的资源,以将其安装或显示在启动器中时用作应用程序的名称。

另外一次您将<string>在android中使用XML文件中的资源将在布局文件中。例如,以下内容表示一个TextView,其中显示了hello_world我们之前定义的字符串:

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

您还可以<string>从应用程序的Java部分访问资源。要从hello_world上方调用Activity类中的相同字符串,请使用:

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