Android兼容性库。最佳实践。

3
我一直在开发一个针对Android API 10的应用程序。当我开始时,我的理论是针对低API,以便它可以在大多数设备上使用。我觉得这是大多数新开发者所做的。随着我深入研究Android,我开始熟悉兼容性库,以从更高的API级别添加功能到应用程序中。
有人有关于为所有或大多数设备开发的最佳方法的明确建议吗?我看到两种明显的方法。
我已经多次阅读了this article,但我注意到它是从2010年的,而在Android世界里,那已经非常过时了。
是更好的方式:
- 针对较低的API进行开发,并使用兼容性库来提高与新设备的兼容性
还是
- 针对最新的API进行开发,并进行兼容性工作以支持旧设备?
最后,我想假设测试设备的可用性可能会影响到这里。我有2.3.4和4.0设备,所以我真的在决定我想在开发过程中对哪个设备进行大部分测试。

我希望这篇文章不会因为主观性而被删除。这是一个非常重要的问题,困扰着许多新的Android开发者,也是开发优秀专业的Android应用程序不是一项轻松的任务的原因之一。


你认为“Compatibility library”在你的第一个要点中究竟是什么? - CommonsWare
兼容性库,如果我没记错的话,允许您使用由于低API级别而不可用于应用程序的API。基本上,在较低的API应用程序中使用更高的API函数。我可能是错的。我能想到的唯一另一种使用方法是在高API构建应用程序,只需包含库即可支持较低的API。我对此也有点困惑。刚开始这周看它,还不确定如何使用它。 - doubleA
1个回答

3
我猜你所说的“兼容性库”指的是Android Support包。一年多以前,它曾被称为Android Compatibility Library。
Android Support包包含新版Android引入的功能的“后移版”。还有其他后移版本,例如ActionBarSherlock,它提供了操作栏的后移版本。
如果你选择使用一个或多个后移版本,你要编写代码针对后移版本的APIs。你不是针对“较低和最近的API”,而是针对后移版提供的服务。
我对于使用最新的Android开发工具的开发人员的一般建议是:
- 将android:minSdkVersion设置为你愿意支持的最旧版本的Android - 将构建目标和android:targetSdkVersion设置为相对较新的版本的Android,包含你可能希望在新设备上有条件地使用的功能 - 对于你希望在旧设备和新设备上一致使用的支持的功能,使用Android Support包、ActionBarSherlock和其他后移版本

感谢您的澄清。显然,我所依据的是旧信息。接下来几天,我一定会更加深入地研究这个问题。最终,我会跟上这个领域的发展。我还有很多东西要学习。再次感谢您。如果您是马克,我非常喜欢您的书,不过我只有一个朋友送给我的旧版本。Android 发展得非常快。我下个月会购买您的 Warescription。 - doubleA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接