I know this question may be duplicated but I didn't find any answer for my problem, I'm using LocalDateTime
in my Android app that requires API 26 and my device's API is 25.
What can I do? Your help will be very appreciated.
You need to use https://github.com/JakeWharton/ThreeTenABP to be able using LocalDateTime with Android API < 26.
Add the dependencies to your project (please follow the project README):
implementation 'com.jakewharton.threetenabp:threetenabp:1.2.1'
Then change your LocalDateTime
import from:
import java.time.LocalDateTime;
to:
import org.threeten.bp.LocalDateTime;
and please do not forget to call AndroidThreeTen.init(this)
in your Application class onCreate
method like;
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
AndroidThreeTen.init(this);
}
}
The library mentioned above is no longer the best way as mentioned in JakeWharton/ThreeTenABP README:
Attention: Development on this library is winding down. Please consider switching to Android Gradle plugin 4.0, java.time.*, and its core library desugaring feature in the coming months.
To use LocalDateTime
in older API levels, use the desugaring feature from Gradle plugin 4.0:
https://developer.android.com/studio/write/java8-support#library-desugaring