java - 相同的应用程序适用于不同的 Android 版本

标签 java android android-version

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

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

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

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

提前致谢

最佳答案

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

要将支持库添加到您的项目中:

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

list 的相关部分示例:

<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 */
}

在您的代码中。

关于java - 相同的应用程序适用于不同的 Android 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12732752/

相关文章:

android - 自定义 Toast 定位

android - 在软键盘上显示 'Done' 键

java - BigInteger.toByteArray() 在 java 中返回奇怪的值

java - 如何测试一个数组是否包含指定的值

android-studio - 3.1.4 textAlignment 缺失(Android Studio)

android - 更新时清除应用程序数据

android - 我是否需要在 Android 4.1 及更早版本上明确声明 WRITE_EXTERNAL_STORAGE 权限?

java - 禁用 WebView 链接在模拟器上有效,但在设备上无效

java - 如何在 Openstreetmap 中突出显示 MapMarkerDot?

android - 在 Android 应用程序中抽象 Realm 的正确方法