我的应用程序需要针对 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 不会通知该事实。