android targetapi版本低,Android应用开发之Android @TargetAPI版本兼容性解析
本文将带你了解Android应用开发Android @TargetAPI版本兼容性解析,希望本文对大家学Android有所帮助。Android@TargetAPI版本兼容性解析,Android API在高版本中会添加一些功能,但是这些功能在低版本上无法使用的,而且也会报错,因此需要使用@TargetApi(11)防止报错,同时在还需要在代码中加版本判断是否执行某段代码,直接看Demo:@Ta...
本文将带你了解Android应用开发Android @TargetAPI版本兼容性解析,希望本文对大家学Android有所帮助。
Android @TargetAPI版本兼容性解析,Android API在高版本中会添加一些功能,但是这些功能在低版本上无法使用的,而且也会报错,因此需要使用@TargetApi(11)防止报错,同时在还需要在代码中加版本判断是否执行某段代码,直接看Demo:
@TargetApi(11) //低版本防止报错
public void text(){
if(Build.VERSION.SDK_INT >= 11){
// 使用api11 新加 api 高版本运行
}
}
最后说一下报错的原因,
android的 Lint检查工具是为了防止代码出现提示性错误而设计的。
当androidmanifest设置了minsdkversion为8时,那么代码在使用了高于api8的代码时报错,
使用的是4.4的sdk进行的代码编译,如果没使用@TargetApi,运行android
lint直接也会显示错误提示。解决是在方法或类的开头写上@TargetApi(xx)。如果你下面的代码要在api13的情况下运行,那么xx处你就填写13。不能填低了,填低了,还是报错。
这和@SuppressLint(“NewApi”)不一样。suppress只告诉lint,我这代码如果高于你的minsdkversion,那么请忽略编译错误。
最后强调一点:targetapi和你代码的运行环境没任何关系。意思就是说即使你写了@TargetApi(11)。不代表你的这个 方法就会被限制在android 3.0的设备上运行。因此兼容性判断还是必不可少的。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
更多推荐
所有评论(0)