2016-03-15 5 views
12

Я обновился до последней версии Android N sdk. Единственное, что я не понимаю, то почему я не могу импортировать java.time в свой код? Я думал, что Java8 доступен через Android N. Тогда почему Google не добавил java.time пакет?Android N Java8 java.time

+0

только ожидание - это вариант: jack теперь устарел, и API java8 вскоре будет поддерживаться напрямую: https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html – ccpizza

+0

@ccpizza Они не поддерживают все функции Java 8 для Android. –

+0

Большая часть функциональности java.time портирована на Java 6 и 7 в проекте [* ThreeTen-Backport *] (http://www.threeten.org/threetenbp/). Дальнейшая адаптация для Android в проекте [* ThreeTenABP *] (https://stackoverflow.com/q/36000997/642706); см. [* Как использовать ... *] (https://stackoverflow.com/q/38922754/642706). –

ответ

18

Android N не поддерживает все возможности Java 8. Следующие функции поддерживаются только:

  • По умолчанию и статические методы интерфейса
  • лямбда-выражений
  • повторяемые аннотаций

Отражающие и связанные с языком API:

  • java.lang.FunctionalInterface
  • java.lang.annotation.Repeatable
  • java.lang.reflect.Method.isDefault()

и отражение API-интерфейсов, связанных с повторяемой аннотацией, такие как AnnotatedElement.getAnnotationsByType(Class)

Utility API:

  • java.util.function

Для получения дополнительной информации воспользуйтесь следующей ссылкой: http://developer.android.com/preview/j8-jack.html

+4

Спасибо за план. Я думаю, что наш единственный вариант для Java 8 Time api - https://github.com/JakeWharton/ThreeTenABP –

+1

@Igor прямо до того, как будет выпущена стабильная версия android-n. надеюсь, что в стабильной версии они будут поддерживать –

+0

Ну, если они еще не добавили Time api, то они, вероятно, не будут в Android N. В противном случае я понятия не имею, как Google принимает решения о включении или опускании определенных apis ... –

 Смежные вопросы

  • Нет связанных вопросов^_^