谁能解释为什么硬编码的字符串如此糟糕?如果我对字符串进行硬编码,我应该期待什么问题?为什么有一个单独的字符串 xml 文件可以解决这些问题?
在 strings.xml 中创建新元素是一项非常耗时的活动。
谁能解释为什么硬编码的字符串如此糟糕?如果我对字符串进行硬编码,我应该期待什么问题?为什么有一个单独的字符串 xml 文件可以解决这些问题?
在 strings.xml 中创建新元素是一项非常耗时的活动。
将字符串添加到 时strings.xml
,您可以轻松地将整个应用程序翻译成其他语言。
因此,在values
您将拥有strings.xml
此内容的文件夹中:
<string name="hello">Hello</string>
在values-fr
一个strings.xml
有这个内容的:
<string name="hello">Bonjour</string>
这为您节省了大量工作,而不是硬编码的方式:Android 会根据用户偏好自动选择正确的语言,您不必担心选择和显示该语言。
另请阅读本地化 | 安卓开发者。
另外,假设您有一个字符串,例如,让它成为一个标题,它在您的应用程序的每个活动中重复。现在假设一段时间后,您决定更改该标题。
使用strings.xml
你需要在一个地方更改它,而硬编码的值需要在每个活动中更改。
字符串是使用 name 属性中提供的值(不是 XML 文件的名称)引用的简单资源。<resources>
因此,您可以在一个 XML 文件中的一个元素下将字符串资源与其他简单资源结合起来。