您会选择哪种Android API版本开始开发新的Java应用程序?
最近我买了一部运行Android 2.2.1的二手智能手机。由于我从未尝试过移动开发,因此我决定将其用作尝试为Android开发新应用程序的场合。
我从事Java工作已经有一年了,我觉得很自在,所以既然我已经作为一个独立的软件供应商工作了,我会尝试在Android市场上销售该应用程序,如果我能做一个好的
我不想开始使用过时版本的API,所以我问的是,使用Android级别API的8级开始我的开发和学习工作是更好的选择,或者如果它最好使用更新版本的API。
我在S.O.上看了why is Android API level 9 obsolete?和Which Android API to use?。关于同样的论点,但这两个问题现在已经过时了,我认为他们留下了一些问题。
尤其是Jan Dragsbaek在回答中说:
您应该始终使用尽可能低的API。只是 因为您的API级别越低,您就能吸引的用户越多。
所以看一下current stats,如果你把自己“愚弄”到API级别7,你就可以达到97.9%。
但为什么API级别9已经过时了?人们无法确定,但很可能是因为它有一些重大缺陷。
阅读actual stats,情况如下:
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的下一级。
现在,我将尝试关注Building a Custom Fancy ListView in Android,看看我是否遗漏了从一开始就非常有用的东西。
答案 0 :(得分:2)
9级已经过时,因为10级完全取代了它。另一种说法是Android 2.3.3取代了Android 2.3,所以现在如果你的目标是2.3设备,你可以使用2.3.3 API。级别8不会过时,因为没有类似的API级别来替换它(所有2.2更新仍然是级别8)。
对于丢失的功能,您可以查看list of all the new features in API 9(API 10实际上没有任何主要的新功能,但您也可以在同一站点上进行检查)。如果您不需要任何这些功能,则无需针对2.3.3。 2.2和2.1之间再次相同;如你所说,使用具有所需功能的最低级别。从经验来看,2.1提供了常规使用所需的一切 - 互联网,存储,图形(尽管高级图形随着时间的推移而变得更好),用户界面等。
答案 1 :(得分:2)
我认为你也应该看看你的要求。绘制API,这对您的应用来说是绝对必要的,并缩小到您可以使用的最低Android API级别。如果您使用较低的API级别,那么您的拓展是正确的。
话虽如此,如果您仍然对较低的API级别感到不舒服并发现自己受到限制,那么您可以使用Android Support Libraries。引用支持库的描述:
支持包包括静态“支持库”,您可以将其添加到Android应用程序中,以便使用不适用于较旧平台版本的API,或者提供不属于框架一部分的“实用程序”API的API蜜蜂。目标是通过提供更多可以与应用程序捆绑在一起的API来简化开发,这样您就可以减少对平台版本的担忧。
答案 2 :(得分:0)
你既不会获得也不会失去任何东西。
与级别10相比,级别9已过时。级别9为GINGERBREAD,级别10为Gingerbread维护版本1,即错误修复。
等级8是2.2等级7是2.1它们不是过时的,只是旧的。