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