android - 在 Android 中进行条件编译?

标签 android compiler-construction conditional exif

是否有任何类型的 Android 条件编译?

我不得不为 Android 3 (API 11) 制作我的项目只是因为 ExifInterface 在 Android 2.3 (API 10) 中几乎没有有用的属性,尽管它出现在 API 5 (! !??)。我不想将我的应用限制为 ICS 用户。

谢谢!

最佳答案

您可以动态检查设备的当前 API 版本并根据该版本执行不同的操作:

    if(Build.VERSION.SDK_INT < 14) {
        // Crappy stuff for old devices
    }
    else {
        // Do awesome stuff on ICS
    }

但是请注意,如果您需要实例化并非所有 API 都可用的类,那么您应该在可运行的或单独的包装类中进行,例如:

    if(Build.VERSION.SDK_INT < 14) {
        // Crappy stuff for old devices
    }
    else {
        // Do awesome stuff on ICS
        new Runnable() {
            new AmazingClassAvailableOnICS();
            (...)
        }.run();
    }

关于android - 在 Android 中进行条件编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380191/

相关文章:

ruby-on-rails - 如何干燥 Rails 所需的 ruby 条件结构

android - 持久搜索不在 Gradle 中导入

java - Android 中的 Webview 不从 res/drawable 加载图像

java - Android 日期格式错误

c# - 为什么在一个案例语句中声明的变量在其他案例的范围内?

c# - 程序集中类的顺序

symfony - 如果在Twig中嵌套

javascript - 'Except IE8' 的条件注释 ?

android - 在 TabHost 中使用 ViewFlipper

compilation - 标记和词位有什么区别?