在Android库中,@TargetApi
和minSdkVersion
都可以用于控制代码的兼容性。minSdkVersion
是指项目可以运行的最低API级别,而@TargetApi
则指定了代码的最低API级别。在使用@TargetApi
时,必须使用条件语句确保代码只会在指定的API级别上运行。下面是一个示例:
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public void doSomething() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// If device is running Lollipop or above, run this code
// 如果设备运行的是Lollipop或更高版本,运行这段代码
} else {
// If the device is running pre-Lollipop, run this code
// 如果设备运行的是早期版本,运行这段代码
}
}
在这个例子中,@TargetApi(Build.VERSION_CODES.LOLLIPOP)
指定了代码的最低API级别为Lollipop,而条件语句则确保代码只会在Lollipop或更高版本上运行。这样可以确保代码只在适当的设备上运行,并在较旧的设备上避免兼容性问题。