gpt4 book ai didi

java - Android API-21 中 DateTimeFormatter 的替代品

转载 作者:行者123 更新时间:2023-12-04 23:56:11 33 4
gpt4 key购买 nike

我的应用在运行时崩溃了。它在我第一次构建和编译它时起作用,但现在不起作用。我认为这是因为“DateTimeFormatter”无法在我当前的 api 级别 21 中使用。是否有解决方法?

这里是错误:

java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/format/DateTimeFormatter;

这是受影响的代码:

@RequiresApi(api = Build.VERSION_CODES.O)
public boolean checkTimeAgainstCurrentTime(String time) throws ParseException {
boolean isTime = false;
DateTimeFormatter parser = DateTimeFormatter.ofPattern("h:mma", Locale.ENGLISH);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
LocalTime theTime = LocalTime.parse(time, parser);
Date time1 = new Date(System.currentTimeMillis());
Date time2 = new SimpleDateFormat("HH:mm:ss").parse(theTime + ":00");
time1.setHours(time2.getHours());
time1.setMinutes(time2.getMinutes());
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date today = Calendar.getInstance().getTime();
today.setHours(today.getHours()+8);
if (today.after(time1)) {
isTime = true;
}
// If true, means expired.
return isTime;
}

最佳答案

您可以启用 API Desugaring 以实现向后兼容性,此处 https://developer.android.com/studio/write/java8-support#library-desugaring是它的说明,但基本上您必须添加一行代码,如下面的应用程序级别 build.gradle 所示。

android {
compileOptions {
coreLibraryDesugaringEnabled true
}
}

你需要一个依赖

dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
}

关于java - Android API-21 中 DateTimeFormatter 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66166211/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com