Android:如何编写SDK特定的代码?

pal*_*dot 1 android android-sdk-tools

我是Android编程的新手.我想编写一些仅在最新的Android 5.0(API 21)中支持的自定义动画.我想知道编写SDK特定代码的最佳/推荐方法是什么.

if (Build.VERSION.SDK_INT >= SOME_SDK_VERSION) {
   // write api specific code here?
}
Run Code Online (Sandbox Code Playgroud)

上面的方法是正确的方法吗?例如,如果有多个特定于SDK的API调用,我应该以上面的格式包装所有内容吗?

Kar*_*uri 6

是的,你可以随时这样做:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
   // code for Lollipop and later
}
Run Code Online (Sandbox Code Playgroud)

这甚至可以在Lollipop之前的设备上运行(因为版本代码在编译时内联而SDK_INT不是内联).

  • 你是什​​么意思"android方式"?这是标准方式; 甚至支持库中的类也使用这样的检查.你可以通过创建一个接口和一系列实现接口的类来抽象出一些,并选择基于SDK版本的实现,但它仍然基本上使用相同的检查. (2认同)