Android 定义字符串

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