我想知道您是否应该使用 strings.xml 而不是全局常量。我了解到应该避免使用全局变量,但 strings.xml 可能不适合这样使用?
使用其中一种有什么优点/缺点吗?
我很确定像下面这样的硬编码字符串不是一个好方法。
putExtra("extraKey", extra);
使用 strings.xml 或 Constants,您可以进行拼写检查和自动完成。
带有 R.string 的典型行可能如下所示。
intent.putExtra(getString(R.string.first_player_for_intent), firstPlayer);
相比于
intent.putExtra(MyClass.first_player_for_intent), firstPlayer);
如果要使用常量,它们应该放在什么类中?
最佳答案
我不会使用 res/strings.xml
来存储常量。即使您没有 context
,您也可能想要访问它们的值。此外,您的 key 不需要本地化。关于你应该存放它的地方,这取决于你,而我,这只是一个品味问题。我通常避免只为常量设置一个专用类,但我在 imo 所属的地方声明它。例如,如果您有一个名为 Player
的类,我会将所有与 Player
相关的常量放在那里。
关于android - 我应该使用 strings.xml/R.string 而不是全局字符串常量(例如用于 Intent 中的键)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33067052/