【发布时间】:2018-03-18 14:07:31
【问题描述】:
我需要使用方法setStartTimestamp(OffsetDateTime startTimestamp),但我的 minSdk 是 21,所以它显示我 Call requires API level 26。有什么办法可以在较低的 api 上使用 OffsetDateTime?
【问题讨论】:
我需要使用方法setStartTimestamp(OffsetDateTime startTimestamp),但我的 minSdk 是 21,所以它显示我 Call requires API level 26。有什么办法可以在较低的 api 上使用 OffsetDateTime?
【问题讨论】:
您可以使用 Java 8+ API 脱糖支持(Android Gradle Plugin 4.0.0+)
在this link中有描述
您只需在应用模块中修改 build.gradle 文件,如下所示:
android {
defaultConfig {
// Required when setting minSdkVersion to 20 or lower
multiDexEnabled true
}
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
}
【讨论】:
java.time Android 上的 API 需要 API 26。
对于较旧的 API 级别,您可以使用 ThreeTenABP,它是 JSR-310 的 Android 版本 java.time Java 6 的反向端口。
【讨论】: