Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了向后兼容的Android / Java代码大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_673_1@
我正在编写一些代码,这些代码将由一些维护SDK的合作伙伴使用.开发人员在 Android 1.5到2.3.7上使用SDK.我的代码使用仅在2.2及更高版本上可用的功能.如何编写我的代码,以便使用合作伙伴SDK的开发人员不会在Android上获得编译错误< 2.2? 我尝试使用反射并避免使用在2.2之前不可用的类的导入/声明,但由于无法调度到我已将所需类类型更改为Object的方法,因此代码在2.2之后无效.

解决方法

您可以尝试将代码拆分为基线(Android 1.5),并为更高的API级别提供额外的JAR,类似于 Android compat librabry与Android 1.6兼容的“v4”风格和Android的“v11” 3.2及以上.

在某些时候,您可能还可以从AOSP获取代码并从后端选择2.2功能.我做了这个,例如能够在API级别7上使用getExternalCacheDir():

private static File getExternalCacheDir(final Context context) {
    // return context.getExternalCacheDir(); API level 8

    // e.g. "<sdcard>/Android/data/<package_name>/cache/"
    final File extCacheDir = new File(Environment.getExternalStorageDirectory(),"/Android/data/" + context.getApplicationInfo().packagename + "/cache/");
    extCacheDir.mkdirs();
    return extCacheDir;
}

反思繁重的代码将是维护的噩梦 – 你想要为你的客户/合作伙伴避免那些红色编译器错误加密狗,你想要看到它们而不是由反射代码中过时的常量引起的一些模糊的运行时异常.

大佬总结

以上是大佬教程为你收集整理的向后兼容的Android / Java代码全部内容,希望文章能够帮你解决向后兼容的Android / Java代码所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。