当前位置: 首页 > news >正文

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

转自:http://blog.csdn.NET/wbshuang09/article/details/44920549
在Android代码中,我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告,解决方法是在方法上加上@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 就没有这个错误了
 
 

相关文章:

  • JSON字符串转对象
  • iOS开发笔记--导航栏解决方案(透明、隐藏)
  • 投票系统之防止重复投票
  • python redis使用心得
  • Tools - Markdown
  • 深入理解ajax系列第一篇——XHR对象
  • 如果图片链接找不到地址出错自动显示默认图片(头像)
  • 现代化敏捷简介
  • HTML link标签media参数
  • mongodb中数据类型的坑
  • Velocity初探小结--Velocity在spring中的配置和使用
  • 图像金字塔
  • 如何学习linux的建议
  • Scrapy ImagePipeline(图片下载组件)
  • Spring boot ---- java.lang.NoClassDefFoundError: javax/servlet/ServletContext
  • SegmentFault for Android 3.0 发布
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • create-react-app做的留言板
  • Docker入门(二) - Dockerfile
  • ES6之路之模块详解
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Median of Two Sorted Arrays
  • MySQL-事务管理(基础)
  • vue中实现单选
  • XForms - 更强大的Form
  • Xmanager 远程桌面 CentOS 7
  • 测试开发系类之接口自动化测试
  • 从零开始学习部署
  • 分布式任务队列Celery
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 突破自己的技术思维
  • 自制字幕遮挡器
  • 《码出高效》学习笔记与书中错误记录
  • hi-nginx-1.3.4编译安装
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • # Panda3d 碰撞检测系统介绍
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • $.proxy和$.extend
  • (06)Hive——正则表达式
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (十八)三元表达式和列表解析
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转载)虚函数剖析
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET gRPC 和RESTful简单对比
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net项目IIS、VS 附加进程调试
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @Builder用法
  • @DateTimeFormat 和 @JsonFormat 注解详解