本文将带你了解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频道!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐