我相对较新的Android,我正在考虑开发API 1.6及更高版本设备支持的应用程序的可能性,但我不确定这在实际代码中意味着什么。我希望有一些额外的信息可以帮助我决定......
我知道有supportv7和supportv4本机API库,它们显然支持旧的Android版本(从我相信的1.6)到更现代的功能。
但这是否意味着相同功能的广泛代码?
这是否意味着为每个API级别提供相同功能的单独代码段?
更好的是, 我可以在定位之间找到哪些主要差异,例如,默认情况下为API 4.0以及默认情况下为1.6以上,如果有的话?
感谢阅读,希望我明白了。
答案 0 :(得分:4)
在决定API级别以定位此网站时,可以提供有关当前市场细分的非常好的信息。
https://developer.android.com/about/dashboards/index.html
正如您所见,API< 10只占当前细分的极少数。 我可以从经验告诉你,升级API级别是一种痛苦。如果我正在创建一个新的应用程序,我将不低于API 14作为最低要求。任何比这更低的东西将在几个月内变得越来越过时。您不会丢失太多业务,并且无需使用支持库即可访问许多较新的调用。
答案 1 :(得分:1)
这取决于。通常来说,您需要额外的代码来支持较旧的API级别,但每个级别的代码不同。您是否需要代码段来支持API级别的决定性因素是您是否使用较新API中引入的功能。一个简单的例子是HOLO主题。这是一个非常常见的主题,用于给Android应用程序类似的感觉,但它没有被引入,直到API级别11(我相信3.0)。如果要实现此主题并支持pre3.0设备,则需要使用特殊代码来处理它。但是,如果您选择不使用它,则不需要特殊代码。
尽管如此,一些较新的功能非常方便,使程序员的工作变得更加容易。我认为我写的最后一个应用程序我坚持使用API 16+,因为有些任务可能是支持API 16的噩梦。我想我的想法是用minSDKVersion = 4(android 1.6)开始编码。如果您的功能需要特别支持旧版本,编译器会通知您。你会很快发现支持1.6的所有额外工作需要多少。然后,您可以正确评估是否认为包含额外支持是值得的,或者更愿意调整您支持的距离。