4 回答

TA贡献1111条经验 获得超0个赞
如果您使用的是 Gradle 插件 4.0 或更高版本(适用于 Android Studio 4.0 或更高版本),则可以利用 D8 核心库解压功能。这包括 中找到的功能子集,并允许您在项目中使用;即使您需要支持早于 API 26 的版本。java.timejava.time.Instant
在模块的文件中:build.gradle
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
coreLibraryDesugaringEnabled true
}
// If using Kotlin
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
}
dependencies {
…
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.5'
}
您现在应该能够无差错地使用此类。

TA贡献1836条经验 获得超4个赞
在查看开发人员指南后,事实证明,String
now
以及常见的 UNIX 纪元时间戳,都是可接受的值:int
departure_time
— 指定所需的出发时间。您可以将时间指定为自 1970 年 1 月 1 日午夜 UTC 以来的整数(以秒为单位)。或者,您可以指定值 ,该值将出发时间设置为当前时间(更正为最接近的秒)。now
在检查客户端的源代码时,有一种方便的方法:Java
public DirectionsApiRequest departureTimeNow() { return param("departure_time", "now"); }
因此可以规避,以便向后兼容。java.time.Instant
我已提交问题 #559...分叉库似乎是设置其他时间戳的唯一方法。

TA贡献1873条经验 获得超9个赞
您可以在安卓 API 级别 23 上使用即时类和 Java.time 中的其他类
java.time在较旧的和较新的安卓设备上都运行良好。它只需要至少 Java 6。
在 Java 8 及更高版本以及较新的 Android 设备(从 API 级别 26 开始)上,内置了现代 API。
在非Android Java 6和7中获取三十个反向移植,即现代类的向后移植(三十个用于JSR 310,请参阅底部的链接)。
在(较旧的)安卓版上使用安卓版的三十号向后移植。它被称为三十二。并确保从子包中导入日期和时间类。
org.threeten.bp
链接
甲骨文教程:日期时间,说明如何使用 java.
Java 规范请求 (JSR) 310,其中首次进行了描述。
java.time
三十个向后移植项目,Java 6 和 7 的向后移植(JSR-310 的三十个)。
java.time
三天ABP,安卓版三十号回港
问:如何在安卓项目中使用三张ABP,并给出一个非常透彻的解释。

TA贡献1744条经验 获得超4个赞
我在这里写了关于解决此问题的推荐方法:https://dev.to/cicerohellmann/what-is-desugaring-and-why-would-i-need-it-2bo0
但简而言之,你应该使用去苏加,它允许你在较低级别使用一些高级API。值得一试。我还添加了所有链接,以找到如何实现它以及一些商品和坏处。
添加回答
举报