2013-06-13 34 views
0

如果我将最小SDK指定为2.0,将目标SDK指定为4.1,那么我是否必须编写明确的代码以确保向后兼容。就像我想要使用SDK级别7中引入的手势检测功能一样,我将目标设置为7,最小值设置为3.我问我是否需要编写明确的代码(其中不包括手势检测功能),以便它运行在小于7但大于3的目标上?我是否必须编写明确的代码以确保向后兼容?

回答

1

是的,你需要,但我没有看到任何合理的理由在8(2.2)之前仍然支持任何API。

Android Platform Distribution

这是市场的字面1.6%。不再需要努力维护和支持这样的早期版本。

这就是说,如果你需要做的版本特定的代码,这是处理它的方式:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { 
    //Use API 7+ code 
} else { 
    //Use backwards compatible code 
} 
+0

我刚才提到的sdk版本中只有虚拟值,我的意思是像2.0和4.1这样的版本,只是示例,没有别的。 任何方式感谢您的答案:) –

+0

有没有什么办法可以知道当我编码时哪些功能不会自动处于目标版本中? –

+1

如果您使用减法方法,lint会向您发出相同警告。 – Raghunandan

0

你应该检查出的Android official site如何保证向后兼容性,最低4级(可忽略不计,直到API第7级呢。稍微更显著份额通常是API 8级以上),并始终使用最新的support library

当然有一些小的代码更改(如getSupportFragmentManager()代替getFragmentManager()等)。你可能发生的最坏的事情是NoSuchMethodException,所以你必须真正小心,不要调用低级平台中不存在的API。 sdk应该非常明确地建议,当它发生时。

相关问题