当前位置: 首页 > 知识库问答 >
问题:

在旧的Android中使用java.time类,如DayOfWeek[duplicate]

高自怡
2023-03-14
fun daysOfWeekFromLocale(): Array<DayOfWeek> {

val firstDayOfWeek = WeekFields.of(Locale.getDefault()).firstDayOfWeek
var daysOfWeek = DayOfWeek.values()

if (firstDayOfWeek != DayOfWeek.MONDAY) {
    val rhs = daysOfWeek.sliceArray(firstDayOfWeek.ordinal..daysOfWeek.indices.last)
    val lhs = daysOfWeek.sliceArray(0 until firstDayOfWeek.ordinal)
    daysOfWeek = rhs + lhs
}

return daysOfWeek
}

共有1个答案

徐承载
2023-03-14

最新的Android工具通过“API desugaring”将Android 26+中内置的大部分java.time功能带到了早期的Android中。

如果这对您不起作用,可以使用ThreeTenABP库,这是一个特定于Android的Threeten-Backport的自适应版本。

有关更多细节,请参见如何在Android项目中使用ThreeTenABP。请看凯尔和我的答案。

 类似资料:
  • 问题内容: 如果我没记错的话,Android准则说您应该将ActionBar用于应用程序内的全局导航。 但是同时,您通常希望定位最古老的API,以实现最大的兼容性。 我正在开始开发应用程序,并将目标设置为Android 2.2。 是否可以在此处使用操作栏?如果没有,我该怎么用? 谢谢凯文 问题答案: 使用ActionBarSherlock。 确保您的项目使用Android 4.0+作为构建目标,并

  • 问题内容: 我有点困惑,因为我不知道如何在这里解释该教程:http : //developer.android.com/training/basics/data- storage/databases.html#DbHelper 到目前为止,我的代码如下所示: 我的解释是否正确,或者Helper类中的前6个变量不在Contract类中?还是助手类不是合同类的内部类? 希望你能帮我 问题答案: 您的合

  • 问题内容: 背景 在Android Marshmallow上,Google已完全删除了对Apache HTTP客户端的支持(链接此处),因为与其他替代品相比,它的性能不佳。 这也可能是导致Android Marshmallow上许多应用程序崩溃的原因。 问题 通过将以下行添加到gradle文件中,Google允许你仍然使用此API,而不是内置API: 所以,这就是我所做的: 和: 当我尝试它时,它

  • 问题内容: 无论如何,要从中获取与java.time(Java 8中的新功能)兼容的时间类? 我知道你可以使用的或但这些方法的返回这是现在已经过时,因此它似乎是不好的做法,以创建一个使用这些对象或类似。 问题答案: 新方法开 Timestamp Java 8在java.sql.Timestamp类上包含了新的方法,可以在java.time对象之间来回转换。在可以针对新数据类型更新JDBC驱动程序之

  • 我怎样才能迫使maven使用Yang以前生成的Java类重新编译OpenDaylight Openflowplugin项目,而不是每次编译都生成新的Java类? 我试图编辑Yang生成的java类,但每次我重新编译项目时,maven都会重新生成java类,我的更改也会被删除。

  • 问题内容: java.time中的类仅处理面向日期的部分:年,月,日。 时间部分呢:小时,分钟,秒? 我们如何解析和生成中定义的完整时间段的字符串表示ISO 8601 ,?例如,一天半:。学年为九个月。每年我有两个星期零三天的假期。客户在酒店房间里呆了2天17个半小时。 Joda-Time的课程为全日制。为什么不在java.time中?还有其他机制吗? 问题答案: 该 ThreeTen-EXTRA