我正在重新开始研究我之前工作的应用程序,当时我已经围绕Android 2.2 Froyo构建了所有内容.
我已经更新了我的SDK以获取最新的API,并注意到我使用的ClipboardManager功能已被弃用.我更新了代码以使用较新的ClipData模型并在我的Froyo手机上试用了它,当然,我在新代码中得到了一个NoClassDefFoundError.
我已经浏览了一下,并没有找到任何关于保持向后兼容性的一般策略的真实讨论.
我不完全确定我应该如何处理这个以及API不同的其他情况,因为我希望所有版本的用户都能够使用我的应用程序.
我应该按如下方式进行检查吗?
if(version == old){
use old API;
} else {
use new API;
}
Run Code Online (Sandbox Code Playgroud)
如果是这样,我已经弃用了我的类中的代码,Eclipse将永远发出警告.
另一方面,我可以构建一个旧版本的API,并希望新版本可以正常处理它.但是当有更好的替代方案时,我冒着构建有缺陷或低性能代码的风险.
处理这个问题的最佳方法是什么?