【问题标题】:Same app for different android versions不同安卓版本的同一个应用
【发布时间】:2012-10-04 17:41:53
【问题描述】:

我已经为安卓编写了一个应用,我想让它兼容新旧版本的安卓。

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

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

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

提前致谢

【问题讨论】:

    标签: java android android-version


    【解决方案1】:

    我相信光标加载器包含在支持库中 (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 */
    }
    

    在您的代码中。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        如果您在 google play 上发布,您可以为不同的 API 级别上传不同的 apk,但正如其他人所说,去支持库,不要为不同的 API 级别使用不同的实现。到目前为止,对我来说,支持库运行良好,您不必处理过去的事情是如何完成的;-)(很快就会完全没用的知识......)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-24
          • 1970-01-01
          • 1970-01-01
          • 2022-08-18
          相关资源
          最近更新 更多