【发布时间】:2012-06-15 21:27:29
【问题描述】:
我的应用需要以 API 级别 7 及更高级别为目标,但我希望在新版本可用时选择性地使用新版本的功能。例如,我可能有这样的代码:
if (Build.VERSION.SDK_INT >= 8) {
base64String = android.util.Base64.encodeToString(bytes, android.util.Base64.DEFAULT);
} else {
base64String = MyCustomBase64.encodeBytes(bytes);
}
但是,当我在 Eclipse 中将项目配置为以“Android 2.1”(API 7)为目标时,找不到类 android.util.Base64,因为它仅适用于 API 8 及更高版本。然后 Eclipse 将该行指定为编译错误(红色“x”),因为该类不在构建路径上。
我的问题:在使用 Eclipse 进行 Android 开发时,处理此类开发(支持目标环境中实际上不存在的功能)的“正确”方式是什么?
我总是可以将 Eclipse 中的目标更改为 2.2 (API 8),但这也不理想。它造成了我可能在不知不觉中使用了仅存在于 8+ 中的功能并且没有被 Eclipse 通知这一事实的情况。
【问题讨论】:
-
你的 MyCustomBase64 是什么?我有同样的问题...
标签: android eclipse android-3.0-honeycomb backwards-compatibility android-2.2-froyo