适用于不同Android版本的相同应用

时间:2012-10-04 17:41:54

标签: java android android-version

我已经为Android编写了一个应用程序,我想让它兼容新旧版本的android。

例如,自API 11以来就存在CursorLoader类。

我想要实现的是如果设备使用API​​> = 11运行,则使用CursorLoader,如果设备运行的是旧版本,则使用弃用的managedQuery方法。

在这种情况下推荐的方法是什么?

提前致谢

3 个答案:

答案 0 :(得分:3)

我认为游标加载器包含在支持库(CursorLoader)中。

将支持库添加到项目中:

  • (在Eclipse中,右键单击您的项目 - > Android工具 - >添加支持库...)。
  • 确保在清单中设置minSDK和targetSDK。您应始终定位最高可用SDK(目前为16)。

清单的示例相关部分:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.app"
    android:versionCode="1"
    android:versionName="1.0.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

如果您坚持不使用支持库,则可以执行

之类的操作
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    /* Perform ICS method */
} 
else {
    /* Perform backwards-compatible method */
}

代码。

答案 1 :(得分:1)

您可以使用android support library在API 4 +中使用CursorLoader

答案 2 :(得分:0)

如果你在google play上发布,你可以为不同的API级别上传不同的apk,因为其他人声明支持库并且不会为不同的API级别的不同实现而烦恼。到目前为止,对我来说,支持库工作得非常好,你不必处理过去如何完成事情的工作;-)(一种很快就会完全没用的知识......)