有人可以解释为什么硬编码字符串如此糟糕? 如果我硬编码字符串,我应该期待什么问题? 为什么有一个单独的字符串xml文件解决了这些问题?
在strings.xml中创建新元素是一项非常耗时的活动。
答案 0 :(得分:35)
将字符串添加到strings.xml
时,您可以轻松地将整个应用翻译成其他语言。
因此,在文件夹values
中,您将strings.xml
包含以下内容:
<string name="hello">Hello</string>
在具有此内容的values-fr
a strings.xml
中:
<string name="hello">Bonjour</string>
这可以为您节省 批次 的工作,而不是以硬编码的方式执行此操作:Android会根据用户偏好自动选择正确的语言,而您不必担心选择和显示这种语言。
答案 1 :(得分:11)
另外,假设你有一个字符串,例如它是一个标题,在你的应用程序的每个活动中重复。现在假设一段时间后,您决定更改该标题。
使用strings.xml
您需要在一个地方进行更改,而每次活动都需要更改硬编码值。
答案 2 :(得分:0)
字符串是一个简单的资源,使用name属性中提供的值(而不是XML文件的名称)引用。因此,您可以将字符串资源与一个XML文件中的其他简单资源组合在一个<resources>
元素下。