定义字符串

字符串通常存储在资源文件 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);