一些×××警告

在XML中:

android工程中让人很不爽的“×××警告”_黄色警告

警告信息:[I18N] Hardcoded string “Button” , should use @string resource

意思大概是: 按钮的文本写死了(硬编码),建议在string.xml中配置。


在代码中:

android工程中让人很不爽的“×××警告”_黄色警告_02

警告信息:如图

意思大概是:隐式地使用默认语言环境是一个常见的错误,建议使用toLowerCase(Locale),也就是toLowerCase(Locale.getDefault()); 但实际情况下两种都是可以的。后者对android.jar的版本有要求,具体没详细追究。开发人员更喜欢直接toLowerCase。

我们在写android代码的时候经常会遇到代码无缘无故被标上了“×××警告”,如上图。虽然代码是完全正确的,但被贴上这样一个“×××警告”标签显然会很不爽,特别是对于有代码洁癖的程序员来说,会想着如何清除掉这些警告信息。


出现警告信息的原因

android环境(安装了ADT 16以上)会有一个叫做Lint的小工具,它会对android工程源码进行扫描和检查,可发现潜在的问题,以帮助程序员及早修复问题。

找到Lint小工具:打开Eclipse, window->preferences->Android->Lint Error Checking ,在这里可以定制Lint检查信息,指定检查哪些,指定忽略哪些。

android工程中让人很不爽的“×××警告”_黄色警告_03

Lint是一个静态检查器,它围绕Android项目的正确性、安全性、性能、可用性以及可访问性进行分析。它检查的对象包括XML资源、位图、配置文件、源文件甚至编译后的字节码。


消除×××警告信息

(1)选择android工程,右键Android Tools —> Clear Lint Markers

这种方式能够清除android工程里面的所有警告信息,但很遗憾,下一次打开eclipse的时候还会继续提示,非常不爽!

(2)使用@SuppressLint标注忽略指定的警告

要使用该标注,需要引入annotations.jar,默认新建工程的时候都会有这个jar包。如下使用方式:

在类,方法,变量等前面加上标注 @SuppressLint("NewApi"),这个NewApi一般是具体的类,不用记,提示信息会自动加上。加上标注能够解决不再警告了,但代码貌似会变得冗余一些。总之没有两全齐美的方法,我的做法是让他继续警告,程序能够正常跑起来就行!