Java 关于android API支持的开发成本

Java 关于android API支持的开发成本,java,android,Java,Android,我对Android比较陌生,我正在考虑开发一个由API 1.6及以上设备支持的应用程序,但我不确定这在实际代码中意味着什么。我想有一些额外的信息,可以帮助我决定 我知道有supportv7和supportv4本机API库,它们可以支持较旧的android版本(我相信是1.6版)和更现代的功能 但这是否意味着要为相同的功能编写大量代码 这是否意味着为每个API级别的相同功能提供单独的代码段 更好的是, 我可以找到目标(例如,默认为API 4.0以后版本或默认为1.6以后版本,如果有)之间的主要区别

我对Android比较陌生,我正在考虑开发一个由API 1.6及以上设备支持的应用程序,但我不确定这在实际代码中意味着什么。我想有一些额外的信息,可以帮助我决定

我知道有supportv7和supportv4本机API库,它们可以支持较旧的android版本(我相信是1.6版)和更现代的功能

但这是否意味着要为相同的功能编写大量代码

这是否意味着为每个API级别的相同功能提供单独的代码段

更好的是, 我可以找到目标(例如,默认为API 4.0以后版本或默认为1.6以后版本,如果有)之间的主要区别


感谢阅读,希望我能说清楚。

在决定API级别时,该网站提供了有关当前市场细分的非常好的信息

如您所见,API<10在当前细分中所占比例很小。
根据经验,我可以告诉您,升级API级别是一件痛苦的事情。如果我正在创建一个新的应用程序,我会去不低于API 14作为最低限度。任何低于这个标准的东西都将在几个月内变得越来越过时。您将不会损失太多业务,并且可以访问许多较新的调用,而无需使用支持库。

在决定针对该网站的API级别时,该网站提供了有关当前市场细分的非常好的信息

如您所见,API<10在当前细分中所占比例很小。
根据经验,我可以告诉您,升级API级别是一件痛苦的事情。如果我正在创建一个新的应用程序,我会去不低于API 14作为最低限度。任何低于这个标准的东西都将在几个月内变得越来越过时。您将不会失去太多业务,并且可以访问许多较新的呼叫,而无需使用支持库。

这取决于具体情况。通常来说,您需要额外的代码来支持较旧的API级别,但并不是每个级别都有不同的代码。决定您是否需要代码段来支持API级别的因素是您是否使用新API中引入的功能。一个快速的例子就是全息主题。这是一个非常常见的主题,用于给android应用程序类似的感觉,但是它直到API级别11(我相信是3.0)才被引入。如果您想要实现这个主题并支持pre3.0设备,您需要特殊的代码来处理它。但是,如果您选择不使用此代码,则不需要特殊代码


尽管如此,一些较新的功能非常方便,使程序员的工作更容易。我认为我编写的上一个应用程序坚持使用API 16+,因为有些任务支持API 16之前的版本会是一场噩梦。我想我的想法是开始使用minSDKVersion=4(android 1.6)进行编码。编译器会告诉您是否有需要对旧版本进行特殊支持的功能。您将很快发现支持1.6版需要多少额外工作。然后,您可以正确地评估是否值得包括额外的支持,或者更愿意调整支持的距离。

这取决于实际情况。通常来说,您需要额外的代码来支持较旧的API级别,但并不是每个级别都有不同的代码。决定您是否需要代码段来支持API级别的因素是您是否使用新API中引入的功能。一个快速的例子就是全息主题。这是一个非常常见的主题,用于给android应用程序类似的感觉,但是它直到API级别11(我相信是3.0)才被引入。如果您想要实现这个主题并支持pre3.0设备,您需要特殊的代码来处理它。但是,如果您选择不使用此代码,则不需要特殊代码


尽管如此,一些较新的功能非常方便,使程序员的工作更容易。我认为我编写的上一个应用程序坚持使用API 16+,因为有些任务支持API 16之前的版本会是一场噩梦。我想我的想法是开始使用minSDKVersion=4(android 1.6)进行编码。编译器会告诉您是否有需要对旧版本进行特殊支持的功能。您将很快发现支持1.6版需要多少额外工作。然后,您可以正确地评估是否值得包括额外的支持,或者更愿意调整支持的时间。

您现在用于做出决策的任何数据都将在6个月内完全过时。只需使用目前最新的API级别19(4.4.2)的API即可。上个月,从play store下载的2.2及更低版本的API不到1%。如果你今天发布的话,我不建议在10(2.3)和14(4.0)之前锁定任何目标。在几个月后的一次发布中,我会更加倾向于14安培,为什么?在6个月内,没有人会使用低于4.4.2的API?“我不明白你的说法。”我明白了。也许我会从2.3开始编码?然而,我想知道的是,粗略猜测,与只针对最新API相比,整个(或几乎)API范围的实际编码实际意味着什么。@JustForFAULTS只需在API级别19中开始编程即可。在正在使用的设备上测试程序。如果你遇到一个特定的问题,解决它。答案不是使用较低的API。您正在询问是否应为Windows 95或Windows 8制作程序。人们展示了所有这些关于谁在使用什么Android的图表,但他们忘记了这些图表移动得如此之快,你最好使用最新和最棒的,因为当你完成使你的程序稳定的工作时