我的应用程序需要针对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通知该事实。
答案 0 :(得分:1)
您已回答了自己的问题。
我总是可以将Eclipse中的目标更改为2.2(API 8)
这就是它的完成方式。您仍然可以将清单中的minSDK / targetSDK设置为7. AFAIK您只需使用if语句,就像您在更高API级别的任何代码周围所显示的那样。