如何最好地应对不同版本的Android?

时间:2010-08-11 13:54:32

标签: android version

我有一款适用于Android 1.x但在Android 2.x中无效的应用 我需要根据应用程序运行的Android版本(查询联系人)做不同的事情。 是否有可能在一个应用程序中有两个单独的方法,我可以根据应用程序运行的Android版本进行选择?

非常感谢

4 个答案:

答案 0 :(得分:5)

使用反射和类加载器。在Android开发者博客上查看此帖子:http://feedproxy.google.com/~r/blogspot/hsDu/~3/9WEwRp2NWlY/how-to-have-your-cupcake-and-eat-it-too.html

编辑: 感谢CommonsWare指出了一个使用新旧联系人内容提供者和条件类加载的示例项目:http://github.com/commonsguy/cw-advandroid/tree/master/Contacts/Spinners/

答案 1 :(得分:1)

您可以使用BUILD.VERSION获取sdk版本,请检查 How to retrieve the android sdk version?

然而,我想知道什么函数可以在1.x上运行而在2.x上不可用。 你使用过任何内部类吗?

我真的建议你修复功能问题,而不是用不同版本做不同的事情,如果可以避免的话。

答案 2 :(得分:0)

您可以读出设备的操作系统版本。您可以在应用中使用不同的方法,具体取决于设备操作系统版本,但您只能针对一个SDK版本进行编译。因此,您需要选择最小值,目前为1.6(我认为1.5很少再使用)

请参阅: http://developer.android.com/reference/android/os/Build.VERSION.html

为多个屏幕/设备开发: http://developer.android.com/guide/practices/screens_support.html

答案 3 :(得分:0)

最新的Android SDK附带的名片示例是一个很大的帮助。我建议那些喜欢我的人可能不是专业的全职开发人员。感谢大家的好意。