在我的Android应用程序中,例如当我插入Button并为其添加静态值时,如下所示:
android:text="MY BUTTON"
它会发出警告Hardcoded string "MY BUTTON", should use @string resource
。
我目前正在尝试在之前开发的应用中扩展一些功能;我是否必须更改所有这些静态定义的值才能引用string.xml文件?
任何人都可以就标准发表意见吗?提前谢谢。
答案 0 :(得分:3)
你根本没有 来解决这个问题,因为这是一个警告而不是错误。您的应用程序将与硬编码字符串完美配合。
也就是说,建议修复它,因为如果有必要,它会使你的应用程序更容易翻译成其他语言。
通常我会尝试始终在strings.xml
文件中定义字符串,因为在开发新代码时它确实不会花太长时间。但是,如果您不太可能需要翻译您的应用,那么将现有项目转换为使用strings.xml
可能会带来很多好处。
答案 1 :(得分:0)
您收到的警告是通过Android Lint utility.
一般来说,您应该养成使用字符串资源的习惯(正如Mark Allison写的那样)并且从不在代码或XML标记中“硬编码”字符串文字,就像您在那里做的那样,无论您是否打算将应用程序国际化或不。
在未来的代码维护方面,它才有意义。
事实上,我已经设置了我的linter设置来将硬编码字符串标记为错误,所以我总是注意它。
为此,请转到Project
- > Preferences
,展开Android
,选择Lint Error Checking
并将“HardCodedText”从“警告”更改为“错误”。