Android 设备兼容性——版本适配

322 阅读1分钟

版本分发中心:developer.android.com/about/dashb…

1. 指定 minSdkVersiontargetSdkVersion

minSdkVersion :应用兼容的最低 API 级别

targetSdkVersion :设计和测试应用所使用的最高 API 级别。

2. 运行时检查系统版本

  1. 如果是代码逻辑,就可以在代码中写入判断系统版本的代码,通过运行时检查是否满足条件来确定代码逻辑是否要被执行。
private fun setUpActionBar() {
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        actionBar.setDisplayHomeAsUpEnabled(true)
    }
}
  1. 如果是 XML 资源,Android 会忽略当前设备不支持的 XML 属性。意思是我们可以放心大胆的使用只有新版本才支持的属性。

例如,如果工程里设置了 targetSdkVersion="11",默认情况下应用在 Android 3.0 及更高版本的系统上才会包含 ActionBar。之后如需为操作栏添加菜单项,我们需要在菜单资源 XML 中设置 android:showAsAction="ifRoom"。大家可以放心地在跨版本 XML 文件中执行此操作,因为旧版 Android 会直接忽略 showAsAction 属性(也就是说,我们不需要在 res/menu-v11/ 中单独提供一个版本)。