android.annotation.SuppressLint

Lint是一个静态检查器,它围绕Android项目的正确性、安全性、性能、可用性以及可访问性进行分析。它检查的对象包括XML资源、位图、ProGuard配置文件、源文件甚至编译后的字节码。
Lint包含了API版本检查、性能检查以及其他诸多特性。
其中还有一个重要的改动是Lint可以使用@SuppressLint标注忽略指定的警告。
lint官方的说法是 Improving Your Code with lint,应该是帮助提升代码的 ,如果不想用的话,可以右键点工程,然后在android tools 中,选择 clear lint marker 就没有这个错误了/*************************************************/
@SuppressLint("NewApi") 在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错误,所以在方法中还要判断版本做不同的操作,比如:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
           //
        } else {// Pre GINGERBREAD
           //
}  
				
时间: 2024-10-10 01:07:57

android.annotation.SuppressLint的相关文章

Android Studio配置Android annotation

Android annotation官网:https://github.com/excilys/androidannotations Android annotation官网中有提到在Gradle中要怎么配置: https://github.com/excilys/androidannotations/wiki/Building-Project-Gradle 我也是参考上面的配置的.我的配置如下,要配置的地方有两处: 1> Project 的 build.gradle : // Top-leve

Android Annotation注解的剖析和使用

都说Annotation的运用非常简单,但真正我们需要下手实现的的时候,有的时候就不知道从哪里下手,为什么我们觉得很简单的东西,但却无法下手呢? 原因只有一个,我们对它的使用非常少,但对于写框架的人来说Annotation却使用的频率非常高.那既然我们平时用的非常少,我写这篇blog就没什么意义了,的确,那我也只当是给大家做个查阅的文档.不过我还是希望大家能通过这篇blog,加强对Annotation的理解,这篇blog省去了Annotation不必要的知识点,就像慕课网所说的只学有用的. 进入

android.annotation cannot be resolved

http://stackoverflow.com/questions/14870596/android-annotation-cannot-be-resolved As Artem suggested, you may need to include the annotations.jar file into your project, but note that there are two annotations.jar files in your Android SDK: android-s

android annotation 注入 @afterview 执行时间

01-20 13:52:28.888    3870-3870/cc.android.supu I/System.out﹕ 父类oncreate 01-20 13:52:28.888    3870-3870/cc.android.supu I/System.out﹕ 子类oncreate 01-20 13:52:28.903    3870-3870/cc.android.supu I/System.out﹕ 子类afterview 01-20 13:52:28.906    3870-387

Android中微信抢红包插件原理解析和开发实现

一.前言 自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来.但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导致了.或许是网络的原因,而且这个也是最大的原因.但是其他的不可忽略的因素也是要考虑到进去的,比如在手机充电锁屏的时候,我们并不知道有人已经开始发红包了,那么这时候也是让我们丧失了一大批红包的原因.那么关于网络的问题,我们开发者可能用相关技术无法解决(当然在Google和Facebook看来的话,他们

Android 多线程及线程通信

AsyncTask AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单.相对来说AsyncTask更轻量级一些,适用于简单的异步处理,不需要借助线程和Handler即可实现. AsyncTask是抽象类.AsyncTask定义了三种泛型类型 Params,Progress和Result. Params 启动任务执行的输入参数,比如HTTP请求的URL. Progress 后台任务执行的百分比. Result 后台执行任务最终返回的结果,比如String. AsyncTas

android:滑动挂断自定义View的简单实现

要点: 随着手指的滑动更新位置 drawText的时候,如何计算开始的位置,使str居中 1.CallSliderEndView.java package net.mobctrl.callendview; import android.annotation.SuppressLint; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; impo

基于Android的计步器(Pedometer)的讲解(四)——后台记步

今天先不说Pedometer(计步器)项目UI方面的了,今天讲一个基于重力加速度的记步功能传感器(Sensor),然后 在后台开启记步. 计步器(Pedometer)整个项目的源代码,感兴趣的朋友可以下载来看看(记得帮小弟在github打个星~) https://github.com/296777513/pedometer 先上几张效果图:(效果和上一篇讲到的CircleBar非常的相似,因为记步功能在后台) 如图所示,能根据你的一些基本参数,来记步.有一个缺点,因为这个是根据感应加速度来计算是

Android 浏览网页

1.编写界面 <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> 2.申请权限 <uses-permission android:name="android.permission.INTERNET" /> 3.MainActivity.