Android 高低API版本兼容之@TargetApi

使用@TargetApiannotaion,使高版本API的代码在低版本SDK不报错

例如:

AsyncTask.THREAD_POOL_EXECUTOR,这个静态变量是API11才有的,设置projectbuildtarget为2.1.

这个时候eclipse会提示找不到这个变量。

只要在方法前面加一个@TargetApi(11),这样就不会报错了,程序已经可以跑在低版本SDK上了。

另外在代码上要加一个版本判断是否执行该代码,例子如下

@TargetApi(11)
public void text(){
        if(Build.VERSION.SDK_INT >= 11){
             // 使用api11 新加 api
        }
}

相关推荐