为什么要从外部资源文件引用字符串而不是将其硬编码到Android XML布局?

时间:2012-07-30 11:08:09

标签: java android xml string

我一直在Eclipse中收到有关Android XML布局中硬编码字符串的警告,但我认为将所有内容放在字符串资源文件中并从那里引用它更有意义。无论如何,我只会将该字符串用于该活动,而且永远不会再使用。

这种做法是否存在任何危险,例如我可能忽略的初始化错误或性能问题?为什么Android鼓励使用单独的资源文件?

3 个答案:

答案 0 :(得分:4)

主要原因是internationalization。将字符串放在资源文件中可以更容易地为不同语言提供每个字符串的单独翻译,而无需复制布局文件。

答案 1 :(得分:1)

这些文件为静态应用程序范围的数据提供了一个中心位置。将这些数据与主应用程序代码分开可被视为对整个应用程序结构有益

将字符串内容作为资源包含在内有很多好处,例如:

  1. 它将应用程序使用的字符串集中在一个易于管理的位置(由开发人员或非开发人员)。
  2. 字符串可以定义为一次资源,并在整个代码中使用。因此,它将具有一致的拼写,大小写和标点符号。
  3. 字符串可以轻松实现国际化,允许您的应用程序通过单个应用程序包文件(APK)支持多种语言。
  4. 字符串不会使应用程序代码混乱,使其清晰易用。

答案 2 :(得分:0)

将字符串与代码和资源文件分开具有很多优点,通常被认为是一种很好的做法。

首先,它会将所有字符串保存在一个位置,因此您可以快速将它们保存在一个文件中。

最重要的原因是国际化。如果您的应用程序需要支持multiple languages,那么在不同语言的不同资源文件中分离出您的字符串(测试,按钮标签等)有助于更好地管理此过程。

有关详细信息,请参阅http://developer.android.com/guide/topics/resources/localization.html