Android 兼容性库。最佳实践
Posted
技术标签:
【中文标题】Android 兼容性库。最佳实践【英文标题】:Android Compatibility libraries. Best Practice 【发布时间】:2012-11-06 04:49:04 【问题描述】:我一直在开发一个针对 android API 级别 10 的应用程序。当我开始时,我的理论是针对低 API,因此它可以在大多数设备上使用。我觉得这是大多数新开发人员所做的。随着我对 android 的深入了解,我开始熟悉兼容性库,以便从更高的 API 级别向应用程序添加功能。
对于所有或大多数设备的最佳开发方式,是否有人有明确的建议。我看到了两种明确的方法。
我多次阅读this article,但我注意到它是从 2010 年开始的,在 android 年代已经非常过时了。
是不是更好
-针对较低的 API 进行开发并使用兼容性库来增加与新设备的更好兼容性
或者
-针对最新的 API 进行开发并在兼容性方面工作以支持旧设备?
最后,我假设测试设备的可用性可能会在这里发挥作用。我同时拥有 2.3.4 和 4.0 设备,所以我真的在决定在开发时我想要在哪个设备上进行大部分测试。
我希望这不会因为主观而被删除。这是一个非常重要的问题,困扰着许多新的 android 开发者,也是开发 Good Professional android 应用程序并非易事的原因之一。
【问题讨论】:
什么,准确地说,根据您的第一个项目符号,您认为“兼容性库”是什么? 如果我没记错的话,兼容性库允许您使用由于 API 级别低而对您的应用程序不可用的 API。本质上是在较低的 api 应用程序中使用较高的 api 函数。我可能错了。我能想到使用它的唯一其他方法是在高 api 上构建应用程序,并且仅包含库就可以支持较低的 api。我对此也有些困惑。这周刚开始看。我猜还是不知道怎么用。 【参考方案1】:我猜你认为所谓的“兼容性库”是 Android 支持包。一年多以前,曾经被称为 Android 兼容性库。
Android 支持包包含新版本 Android 中引入的功能的“反向移植”。还有其他向后移植,例如 ActionBarSherlock,它提供了操作栏的向后移植。
如果您选择使用一个或多个反向端口,您就是在编写反向端口 API。对于后端提供的服务,您没有编码到“较低的 API”或“最新的 API”。
我对使用最新版 Android 开发者工具的开发者的一般建议是:
将android:minSdkVersion
设置为您愿意支持的最旧的Android版本
将构建目标和 android:targetSdkVersion
设置为相对较新的 Android 版本,其中包含您可能希望有条件地在较新设备上使用的功能
使用 Android 支持包、ActionBarSherlock 和其他反向移植来获得它们支持的功能,您希望在旧设备和新设备上始终如一地使用
【讨论】:
感谢您的澄清。显然,我正在摆脱旧信息。在接下来的几天里,我肯定会对此进行更多研究。最终我会跟上这方面的速度。我有很多东西要学。再次非常感谢您。如果这是马克,我喜欢你的书,不过我只有一个朋友给我的旧版本。 Android 移动速度非常快。下个月我会收到你的 Warescription。以上是关于Android 兼容性库。最佳实践的主要内容,如果未能解决你的问题,请参考以下文章
不使用支持库的 Android 4.0、4.1 (<4.2) 中嵌套片段的最佳实践