Android黄色警告汇总

之前分享过一片解决Android中Handler警告的文章,今天继续分享一下有关黄色警告修改的一些经验技巧。
1、
String day = String.format("%4d-%02d-%02d", c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1,
                            c.get(Calendar.DAY_OF_MONTH));
在Android中使用上面的代码格式化字符串,结果报出黄色警告!提示如下图所示:
解决方案:

添加Locale.getDefault()

修改后如下:

String day = String.format(Locale.getDefault(), "%4d-%02d-%02d", c.get(Calendar.YEAR),
                            c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));

2.

Warning:

// To get local formatting use getDateInstance(), getDateTimeInstance(), or

// getTimeInstance(), or use new SimpleDateFormat(String template, Locale

// locale) with for example Locale.US for ASCII dates.@SuppressLint("SimpleDateFormat")

String string = new SimpleDateFormat("HH:mm",Locale.getDefault()).format(new Date()); 

解决方案:

添加Locale.getDefault()

for example,like:

SimpleDateFormat newSimpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日HH时mm分",Locale.getDefault());


3.

Warning:

Implicitly using the default locale is a common source of bugs: Use toUpperCase(Locale) instead

String string = new SimpleDateFormat("EEEE",Locale.getDefault()).format(new Date()).toUpperCase();

解决方案:

由于大写一般只应用在英语国家,所以Locale指定为Locale.US

String string = new SimpleDateFormat("EEEE",Locale.getDefault()).format(new Date()).toUpperCase(Locale.US);

(有时警告提示仍在,需要clean下才会消除)

4、

第一:方法上添加@SuppressWarnings("unchecked")

第二:myeclipse的Window->Preferences->Java->Compiler->Errors/Warning->Generic types中Unchecked generic type operation设置为Ignore。

第三:myeclipse的Window->Preferences->Java->Compiler将Compiler compliance level 设置为小于1.5

你可能感兴趣的:(Android,Android性能优化,错误经验)