我可以使用Android Sdk<=26的java时间库的所有功能吗
java时间库具有DateTimeFormatter、LocalTime库等功能,安卓 studio指出这些功能仅在sdk版本中支持>;=26.我目前需要在我的应用程序中使用它。那么,我是否需要将minSdkVersion增加到26(它将不支持很多设备),或者实现我自己的方法。Android增加了requires api符号的选项,这是否意味着早期sdk版本将无法访问该功能
但令人惊讶的是,一个合适的时间库只支持sdk版本26。值得注意的是,该项目是用kotlin编写的
# 1 楼答案
您可以将minSdkVersion升级到26。由于当前版本为30,因此与此相比,26非常低。此外,您无需担心大多数设备都不支持它。实际上,大多数设备都是此版本的目标设备
# 2 楼答案
您可以使用ThreeTenABP库,对于较旧的Android版本,它是
java.time.*
的一个端口,但具有不同的包名。缺点是它的性能更差,增加了代码大小和方法数,并且可能不会得到更新大部分
java.time.*
应独立于最低API版本提供,请参见https://developer.android.com/studio/write/java8-support-table您可以在https://gs.statcounter.com/android-version-market-share/mobile/worldwide/上看到不同版本的市场份额,SDK26对应于8.0(Oreo)。因此,全球约87%的安卓设备都有此版本或更高版本,但这可能取决于您的目标受众