无法解决 android 工作室中的符号 “java.time.LocalDate” 错误安卓 API 级别 26早期的安卓关于 java.time

我正在尝试在我的Android应用程序中使用java.time.LocalDate,但是如果我尝试导入它,那么java.time中的任何类都会给出一个无法解决Android studio 1.1中的符号错误

我能弄清楚的唯一原因是它不支持java 8。事实果真如此吗?


答案 1

安卓 API 级别 26

Android API 级别 26 获得了 java.time 的实现,包括您的 LocalDate 类。

早期的安卓

对于 Android <26,替代方案包括:

  • ThreeTen-Backport是Java 6和7的大部分java.time功能的反向移植。
  • Joda-Time通常用于Android项目。Joda-Time启发了Java 8中的java.time包,但它们不是直接的替代品。Joda-Time团队建议迁移到java.time。

关于 java.time

java.time 框架内置于 Java 8 及更高版本中。这些类取代了麻烦的旧日期时间类,如java.util.DateCalendarSimpleDateFormat

Joda-Time 项目现在处于维护模式,建议迁移到 java.time 类。

要了解更多信息,请参阅 Oracle 教程。搜索 Stack Overflow 以获取许多示例和解释。规格是JSR 310

您可以直接与数据库交换 java.time 对象。使用符合 JDBC 4.2 或更高版本的 JDBC 驱动程序。不需要字符串,不需要类。java.sql.*

从哪里获取 java.time 类?


答案 2

是的,Android 不支持 Java-8。关于Java-8中包含的新的日期/时间-API,您可以查看此问题:

http://code.google.com/p/android/issues/detail?id=62192

目前还没有计划在Google Android中引入JSR-310(java.time-package)。


推荐