Android 中的 #ifdef

Vik*_*yan 2 java android conditional-compilation

我正在为 Android 编写一个应用程序。我的应用程序必须在Android 2.2和Android 4.0.3下启动,我想在Android中使用类似#ifdef的东西,但我仍然找不到方法。

代码示例

安卓4.0.3

if( android.os.Build.VERSION.SDK == 4.0.3)
{
    String str = "foo";
    boolean b = str.isEmpty();
}
Run Code Online (Sandbox Code Playgroud)

安卓2.2

else {
    String str = "foo";
    boolean b = str.length() == 0;
}
Run Code Online (Sandbox Code Playgroud)

我不能编写这样的代码,因为编译器会给出错误。

你可以建议我做什么?

Com*_*are 5

你可以建议我做什么?

Java 新手在开始 Android 开发之前应该花时间学习 Java。4.0.3不是 Java 中的有效整数。

相反,您应该使用:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
 // do something
}
Run Code Online (Sandbox Code Playgroud)