我真的需要将每个字符串放入strings.xml吗?

时间:2014-01-28 12:44:42

标签: android

我厌倦了从IDE获取有关将另一个硬编码字符串放入XML文件的消息。我不明白我为什么要把它放在那里并使我的strings.xml变大,因为每个硬编码的字符串我肯定不会再次使用或在其他地方使用。

有什么理由可以更好地保留XML中的所有字符串吗?

5 个答案:

答案 0 :(得分:6)

没有令人信服的理由将内部字符串保留在strings.xml中,这是为了I18N和灵活性。

整个代码中的文字字符串都是气味,但字符串常量很好。

答案 1 :(得分:5)

如果您想支持multi languages,是的。

如果你想改变其中一个,那么只有一个包含所有String值的xml文件,而不是搜索你的多个java或xml文件,这更加可行。

答案 2 :(得分:5)

您不必在xml中编写字符串。它是可选的,它是possible to disable这些警告。

但这是一个很好的做法:

  • 如果有一天您要翻译成其他语言或internationalize,您将把所有字符串放在同一个地方。
  • 如果字符串在多个地方使用并且您想要更改它,则在xml中更改一次比编辑您使用它的所有地点更容易。

答案 3 :(得分:2)

硬编码字符串不会直接影响性能。它会影响可维护性。

如果您对字符串进行硬编码,并且在以后的阶段中如果要将字符串“Click me”更改为“add”或其他内容,则需要搜索整个项目以更改字符串where和所有它都被使用。

使用硬编码字符串可以提高更差性能的主要原因。硬编码字符串涉及的步骤较少。但是,将资源字符串与应用程序和UI代码分开当然是最佳做法。

所以最好始终关注strings.xml。 :)

答案 4 :(得分:1)

如果您不想拥有唯一的大型文件,可以将倍数文件

唯一的事情是所有文件必须位于 res / values 目录中。 该文件的名称是任意的,永远不会用于引用它。