我正在开发一个面向API 19(KitKat)的应用。
我有一个LocalDateTime
对象和一个Duration
对象。我需要将这个Duration
添加到LocalDateTime
中。
Android Studio显示,LocalDateTime
类的plus(TemporalAmount)
方法是从API级别26(Oreo)开始提供支持的,目前仅支持不到1%的设备。
在API级别19下我该怎么做?
目前,您可以通过将gradle升级到4.0.0版本,在较低级别的API中启用java.time
。 点击此处了解更多信息。
对于Android Gradle插件4.0.0+:
使用Java Desugaring功能,这样你就可以在API级别低于26的情况下无问题地使用Java 8日期库。有关更多详细信息,请阅读此文档。
旧答案:
评论中的bbb答案是正确的。
目前在Android上最好的选择是ThreeTenABP。Jake Wharton解释了为什么在Android中使用此库而不是Joda-Time和ThreeTenBP更好。
LocalDateTime
类应该只存在于 API 26 中,因此您需要在 API 19 中使用其他时间方式。 - deekayjava.time
更改为org.threeten.bp
)。 - bbb