我想知道在Android代码中使用java文件中定义的字符串有什么缺点.
我喜欢使用普通的旧Java字符串来处理不可见的字符串,例如我正在解析的XML文档中的名称,或者bundle的键.将所有这些内容保存在使用它们的java文件中而不是将它们移动到XML文件中并使代码更复杂似乎是个好主意.
然而,我看到许多AndroID代码示例似乎将每个字符串放入资源文件中.
在java文件中使用字符串有什么问题?人们不这样做的原因是什么?我一直在我的应用程序中这样做,到目前为止还没有看到任何问题.
请注意,我知道XML文件对于需要翻译的内容非常有意义.这个问题适用于字符串保持不变的情况.
让我试着让这个问题更清楚:
有什么理由除外:
>因为它是标准/最佳实践等 – 我的问题基本上是:为什么它是最佳实践,仅仅因为i8n,还是有其他原因?
>因为它允许您使用资源框架进行翻译,依赖于设备的字符串等.
>因为它允许您使用非ASCII字符.最佳答案您的问题的简单答案是将所有字符串放入资源的标准.还有很多原因,如果你将字符串保存在xml / java文件中,则必须更新这些文件中的每个引用以获得单个字符串.
例如.如果你想在5个不同的文件中使用“Ok”改为“确认”,你必须在所有这5个文件中进行更改,但对于String资源,你只需要更新一个string.xml文件.
编辑
请在下面找到我们应该使用String.xml的一些原因
1)更新对多次出现的单个引用.根据@treesAreEverywhere它可以使用公共静态字符串完成,但它将在应用程序启动时占用内存,直到应用程序关闭.但是在String.xml中编写的String将在使用时加载.
2)多语言支持.您可以创建多语言资源文件夹以支持您的多语言应用程序,因此使用Locale更改的语言将由OS在运行时根据语言资源文件夹动态维护.
3)请查看Localization文档,其中提供了有关使用string.xml的更多信息
4)字符串不会使应用程序代码混乱,使其清晰易用.
这是一种像其他任何语言一样的编码标准.但是如果需要,可以忽略它,并且可以在代码中使用公共静态字符串变量创建代码.使用string.xml不是必须的,但它是一个很好的编码实践来使用它.良好的做法,例如用括号括起单个语句来关闭if块而不是保持原样.
if(condition){statement;而不是if(condition)语句;
总结以上是内存溢出为你收集整理的java – 在Android中,是否有理由将字符串资源用于不会被翻译的字符串?全部内容,希望文章能够帮你解决java – 在Android中,是否有理由将字符串资源用于不会被翻译的字符串?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)