@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 plaincopy
  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 就没有这个错误了

转载于:https://www.cnblogs.com/yaowen/p/6024555.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础自学编程前需要知道的知识

你是否适合编程?学习编程后能做什么?如何选择编程语言?有哪些免费的线上学习网站推荐?今天这篇好文将那些自学编程前需要了解和思考的问题都记录下来,希望能给那些刚刚开始或正准备自学编程的朋友们带去一些启发。 你是否适合自学编程 自学编程会是一个漫长而艰…

oracle系统库名,Oracle 札记之 一:数据库名,数据库实例名,数据库域名,操作系统环境变量...

数据库名是用于区分数据库的一个内部标识,是以二进制方式存储在数据库控制文件中的参数。数据库创建之后不能再修改这个参数。数据库创建后,它被写入数据库参数文件pfile或Spfile中。格式如下:...db_name"orcl"db_domaindbcenter.t…

用于基于SWT的应用程序的RichText编辑器组件

本文将完成使用SWT实现我们自己的RichText编辑器组件的任务。 在为我的一位客户开发基于桌面的应用程序时,我遇到了这样一个可视化组件的需求,并希望添加一项功能,以允许用户使用粗体,斜体,删除线等功能来写富文本注释…

Eclipse设置黑色主题

1点击help--->install new software 2输入 http://eclipse-color-theme.github.com/update 3下载安装eclipse color theme插件如下图 4完成后点击windows--->preferences------>Appearance下多了一个Color Theme 5,点击选择喜欢的主题即可,也可以自己下载主…

wcf rest系列文章

http://www.cnblogs.com/artech/archive/2012/02/15/wcf-rest.html 需要注意的是,发布的服务,可以在web behavior中指定显示help页面。 http://localhost/ApplicationName/ServiceName.svc/help 需要注意的是,访问.svc的页面一定不要多加/;否…

登录:应用程序错误通知

几个月前,当我进行大型应用程序重构时,发现用于记录日志的基于log4j的代码确实令人讨厌,重复了数百次: if (LOG.isDebugEnabled()) {LOG.debug("Logging some stuff " stuff); }我想摆脱isXXXEnabled,这就…

win10 oracle怎样卸载,Win10系统卸载Oracle 11g数据库的方法

说起Oracle 11g数据库编程人员没有一个不知道的,虽然它很好用,但是有时候我们也会想去卸载它,那么系统城win10纯净版怎么卸载Oracle 11g数据库呢?不知道的朋友赶紧看看小编整理的卸载Oracle 11g数据库的方法吧!具体卸载…

.net 连接数据库

""符号是防止将后面字符串中的"\"解析为转义字符. using System.Data; using System.Data.SqlClient; ... string strConnection"user idsa;password;"; strConnection"initial catalogNorthwind;ServerYourSQLServer;"; st…

mysql DCL数据控制语言

-- 维护性操作 都是在cmd下操作的连接数据库: 本机:mysql [-h localhost] -u account -p 远程:mysql [-h remote_ip] -u account -p 显示当前所有数据库:show databases; 切换数据库:use db_name; …

如何分析线程转储–线程堆栈跟踪

本文是“ 线程转储”分析系列的第5部分。 到目前为止,您已经了解了线程的基本原理以及它们与Java EE容器和JVM的交互。 您还学习了HotSpot和IBM Java VM的不同线程转储格式。 现在是您深入分析过程的时候了。 为了使您能够从线程转储中快速识别问题模式,…

linux想要ping需要开启哪个端口,linux下iptales配置

linux iptables存放位置/etc/sysconfig/iptables[roottp ~]#iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT[roottp ~]#iptables -R INPUT 4 -s 172.17.99.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT[roottp ~]#iptables…

设计模式学习笔记(十三:原型模式)

1.1概述 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。这就是原型模式的定义。 在某些情况下,可能不希望反复使用类的构造方法创建许多对象,而是希望使用该类创建一个对象后,以该对象为原型得到该对象的若干个…

翻译的一篇关于学习编程语言的小文章

Top programming languages to get a job in Toronto in 2017 在程序开发人员和软件工程师中最容易被提及的问题之一就是:“我要学的下一门编程语言该是谁?” 我想去选一个编程语言,我希望你能给我一些关于经常使用到的编程语言的建议&#x…

从linux内核启动,学习Linux内核启动过程:从start_kernel到init

一、实验步骤:1:运行menuos:a)cd LinuxKernel/b)qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img启动后启动了MenuOS。2:使用gdb调试跟踪menuos内核启动和运行过程;a)qemu -kernel linux-3.18.6/arch/x86/bo…

【转】nginx的优缺点

原博文出自于:http://blog.csdn.net/a454211787/article/details/22494485 感谢! 1、nginx相对于apache优点: 轻量级同样起web 服务比apache占用更少内存及资源 抗并发nginx 处理请求异步非阻塞而apache 则阻塞型高并发下nginx 能保持低资源低消耗高…

与Maven 3,Failsafe和Cargo插件的集成测试

开箱即用,可以在Maven中进行单元测试。 因此,它也经常用于集成测试。 这样做的主要缺点是集成测试可能需要花费更多的时间来执行,并且因为没有人喜欢每次构建都要等待很长时间–使用-Dmaven.test.skiptrue标志可以跳过测试 为了执行与Maven的…

Spring入门第二十五课

使用具名参数 直接看代码&#xff1a; db.properties jdbc.userroot jdbc.passwordlogan123 jdbc.driverClasscom.mysql.jdbc.Driver jdbc.jdbcUrljdbc:mysql://localhost:3306/selective-courses-systemjdbc.initPoolSize5 jdbc.maxPoolSize10 applicationContext.xml <?x…

linux强制回收内存,Linu系统cache强制回收

LINUX的内存管理机制&#xff0c;一般情况下不需要特意去释放已经使用的cache。Cache机制的存在&#xff0c;使得Linux对磁盘的读写速度是有较大的好处的。 在 Linux 操作系统中&#xff0c;当应用程序需要读取文件中的数据时&#xff0c;操作系统先分配一些内存&#xff0c;将…

HDU 1412 {A} + {B}

Problem Description给你两个集合。要求{A} {B}.注:同一个集合中不会有两个同样的元素.Input每组输入数据分为三行,第一行有两个数字n,m(0<n,m<10000),分别表示集合A和集合B的元素个数.后两行分别表示集合A和集合B.每一个元素为不超出int范围的整数,每一个元素之间有一个…

Google API:如何访问Google Analytics(分析)数据?

在深入研究Google Analytics&#xff08;分析&#xff09;API之前&#xff0c;了解一些Google Analytics&#xff08;分析&#xff09;术语及其关系总是很有用的。 Google帐户&#xff1a;要访问Google Analytics&#xff08;分析&#xff09;&#xff0c;用户将需要一个Google…