1

在开始开发新的 Java 应用程序时,您会选择哪个 Android API 版本?

最近我买了一部运行 Android 2.2.1 的二手智能手机。由于我从未尝试过移动开发,因此我决定以此为契机尝试为 Android 开发新的应用程序。

我在 Java 领域工作了一年,我感觉很舒服,所以既然我已经是一个独立的软件供应商,我会尝试在 Android 市场上销售这个应用程序,如果我能做得很好的话。

我不想开始使用过时版本的 API 进行开发,所以我想知道使用 Android 级别 API 的第 8 级开始我的开发和学习工作是更好的选择,还是更好使用更新版本的 API。

我阅读了为什么 Android API 级别 9 已过时?以及使用哪个 Android API?关于相同的论点,但是这两个问题现在都已经过时了,我认为他们留下了一些问题。

特别是,Jan Dragsbaek 在他的回答中说:

您应该始终使用尽可能低的 API。仅仅因为您的 API 级别越低,您可以接触到的用户越多。

所以看看目前的统计数据,如果你把自己“愚弄”到 API 7 级,你就能达到 97.9%。

但是为什么 API 级别 9 已经过时了?无法确定,但很可能是因为它有一些重大缺陷。

阅读实际统计数据,情况如下:

Platform        Codename            API-Lvl Distribution
Android 1.5     Cupcake             3       30,00%
Android 1.6     Donut               4       70,00%
Android 2.1     Eclair              7       550,00%
Android 2.2     Froyo               8       20,90%
Android 2.3     Gingerbread         9       0,50%
Android 2.3.2   -   
Android 2.3.3   -                   10      63,90%
Android 2.3.7   -       
Android 3.0     Honeycomb           11      0,10%
Android 3.1     -                   12      1%
Android 3.2     -                   13      2,20%
Android 4.0 -   Ice Cream Sandwich  14      0,50%
Android 4.0.2   -       
Android 4.0.3   -                   15      4,40%
Android 4.0.4           
Total for Android 2.2                       93,50%

现在的问题是:如果我在功能方面使用 8 级 API 进行开发,我会失去什么?在稳定性或工具支持方面我能获得什么?

编辑:

我最终选择使用 API 的第 7 级,它为我提供了开始在我的新手机上进行实验所需的功能。最终,当我认为应用程序需要某些当前级别不可用的功能时,我会将应用程序移植到 API 的下一个级别。

现在,我将尝试在 Android 中构建自定义花式列表视图,看看我是否从一开始就遗漏了一些真正有用的东西。

4

3 回答 3

2

9 级已过时,因为 10 级完全取代了它。另一种说法是,Android 2.3.3 取代了 Android 2.3,所以现在如果您的目标是 2.3 设备,则使用 2.3.3 API。8 级并没有过时,因为没有类似的 API 级别可以替代它(所有 2.2 更新仍然是 8 级)。

至于丢失的功能,您可以查看API 9 中所有新功能的列表(API 10 确实没有任何主要的新功能,但您也可以在同一站点上查看)。如果您不需要任何这些功能,则无需瞄准 2.3.3。在 2.2 和 2.1 之间再次发生同样的事情;正如您所说,选择具有您想要的功能的最低级别。从经验来看,2.1 提供了您日常使用所需的一切 - 互联网、存储、图形(尽管高级图形会随着您的使用而变得更好)、UI 等。

于 2012-05-04T19:50:19.893 回答
2

我认为你也应该看看你的要求。制定对您的应用绝对必要的 API,并将范围缩小到您可以使用的最低 Android API 级别。因为如果您使用较低的 API 级别,您的外展范围会更大,这是正确的。

话虽如此,如果您仍然对较低的 API 级别感到不舒服并且发现自己受到限制,那么您实际上可以使用 Android Support Libraries。引用支持库的描述:

支持包包含静态“支持库”,您可以将其添加到 Android 应用程序中,以便使用旧平台版本不可用的 API,或者提供不属于框架 API 的“实用程序”API。目标是通过提供更多可以与应用程序捆绑的 API 来简化您的开发,从而减少对平台版本的担忧。

于 2012-05-04T19:52:04.143 回答
0

你既不会得到也不会失去太多。

与第 10 级相比,第 9 级已过时。第 9 级是 GINGERBREAD,第 10 级是 Gingerbread 维护版本 1,即错误修复。

8 级是 2.2 7 级是 2.1 他们不是过时的,只是旧的。

于 2012-05-04T19:52:56.297 回答