2012-11-17 51 views
3

我一直在开发一个针对Android API级别10的应用程序。当我开始我的理论时,我的目标是设计一个低API,因此它可以在大多数设备上使用。我觉得这是大多数新开发人员所做的。随着我深入了解Android,我开始熟悉兼容性库,以便从更高的API级别向应用程序添加功能。Android兼容性库。最佳实践

有没有人有关于为所有或大多数设备开发最佳方法的一些确定性建议。我看到两种明确的方法。

我已阅读this article很多次,但我注意到它是从2010年开始的,而且在android版本中已经过时了。

是更好地

- 制定针对较低的空气污染和使用兼容性库,以添加新的设备

或者

- 制定针对最近的API和工作的兼容性支持旧更好的兼容性设备?

最后,我会假设测试设备的可用性可能会在这里发挥作用。我同时拥有2.3.4和4.0设备,所以我决定在开发时决定在哪些设备上进行大部分测试。

我希望这不会因为主观而被删除。这是一个非常重要的问题,困扰许多新的android开发人员,并且为什么开发Good Professional android应用程序不是一项简单的任务。

+0

什么,*正是*,你认为“兼容性库”坚持用是,根据你的第一颗子弹? – CommonsWare

+0

兼容性库如果我没有弄错,允许您使用由于API级别较低而不适用于您的应用程序的API。基本上在较低的API应用中使用更高的API函数。我可能错了。我能想到使用它的唯一方法是在高API中构建应用程序,并且只包括图书馆给予较低API的支持。我也有点困惑。刚开始看这个星期,我不知道如何使用它。 – doubleA

回答

3

我会猜测你认为所谓的“兼容性库”是Android支持包。 在一年前使用被称为Android兼容性库。

Android支持包包含在较新版本的Android中引入的功能的“backports”。还有其他的backports,比如ActionBarSherlock,它提供了一个操作栏的回溯。

如果您选择使用一个或多个backports,则您将编码为backports API。对于由backports提供的服务,您不编码为“较低的API”“最新的API”。

我一般建议使用最新的Android开发者工具复制开发商是:

  • 设置android:minSdkVersion到Android的旧版本,你愿意支持

  • 设置构建目标和android:targetSdkVersion到相对较新版本的Android,其中一个包含您可能希望有条件的在较新设备上使用的功能

  • 使用Android支持包,ActionBarSherlock,和其他backports中的功能,他们支持要在旧的和新的设备

+0

谢谢澄清。很明显,我正在脱离旧的信息。在未来的几天里,我敢肯定将会研究更多。最终,我会尽快解决这个问题。我有很多要学习。再一次感谢你。如果这是马克我爱你的书,我只有一个老朋友给我的旧版本。 Android移动速度非常快。下个月我会收到你的Warescription。 – doubleA