@SuppressLint("NewApi")和@TargetApi()的区别

简介:

那他们之间有什么区别呢,很简单,

@SuppressLint("NewApi")屏蔽一切新api中才能使用的方法报的android lint错误

@TargetApi() 只屏蔽某一新api中才能使用的方法报的android lint错误

举个例子,某个方法中使用了api9新加入的方法,而项目设置的android:minSdkVersion=8,此时在方法上加@SuppressLint("NewApi")和@TargetApi(Build.VERSION_CODES.GINGERBREAD)都可以,以上是通用的情况。

而当你在此方法中又引用了一个api11才加入的方法时,@TargetApi(Build.VERSION_CODES.GINGERBREAD)注解的方法又报错了,而@SuppressLint("NewApi")不会报错,这就是区别。

 

当然,不管你使用了哪个注解,作用仅仅是屏蔽android lint错误,所以在方法中还要判断版本做不同的操作,比如:

 

[java]  view plain copy
 
 
  1. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {  
  2.             //  
  3.         } else {// Pre GINGERBREAD  
  4.             //  
  5.         }  
 
@SuppressLint标注忽略指定的警告
@SuppressLint标注忽略指定的警告
@SuppressLint标注忽略指定的警告
这个是android带的lint工具提示的,lint官方的说法是 Improving Your Code with lint,应该是帮助提升代码的 ,如果不想用的话,可以右键点工程,然后在android tools 中,选择 clear lint marker 就没有这个错误了
 
 

本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6024555.html,如需转载请自行联系原作者
相关文章
|
5月前
|
索引
for in 和 for of的区别
for in 和 for of的区别
知识和智慧的联系和区别
知识和智慧的联系和区别
|
5月前
|
存储 前端开发 JavaScript
for...in、for...of、for...Each的详细区别!
for...in、for...of、for...Each的详细区别!
|
算法 Java Unix
C++基础语言之(二)C和C++的区别
C++基础语言之(二)C和C++的区别
|
安全 C#
C#委托事件的区别
C#委托事件的区别
151 0
|
C语言
%C和%S区别
%C和%S区别
253 0
backgroundColor与 tintColors的区别
backgroundColor与 tintColors的区别
116 0
backgroundColor与 tintColors的区别
写出 && 和 & 的区别。
写出 && 和 & 的区别。
95 0
&和&&的区别
&和&&的区别
184 0
@EnableEurekaClient上有@EnableDiscoveryClient区别
@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其他注册中心。
931 0