2014-10-03 2 views
3

Мне было интересно, могу ли я использовать методы по умолчанию в интерфейсах в Android-разработке. Функция включена в Java 8, но я обнаружил, что Android Java VM еще не поддерживает ее. Есть ли способ использовать методы по умолчанию в Android-разработке? Если нет, когда эта функция будет доступна, есть ли какая-то временная шкала для этих функций?Когда будут поддерживаться методы по умолчанию (Java 8) в Android?

+2

'Android Java VM еще не поддерживает его'. Это утверждение само по себе отвечает на ваш вопрос. И это говорит ** НЕТ **. –

+0

@ FrankN.Stein Я также пытался понять, если это какая-то временная шкала для таких функций. Я уточнил вопрос. –

+0

Опять же, ответ кажется ** НЕТ **. –

ответ

6

Доступность: Я думаю, мы увидим методы по умолчанию в Android N. Уже существует множество тестов, связанных с методами по умолчанию для нового компилятора Jack на AOSP. См. http://bit.ly/1PZoV1A

И сегодня пакет java.util.function был объединен с мастером ojluni (включая методы по умолчанию и использование lambdas).

Редактировать: Вот официальное подтверждение того, что Android N будет поддерживать Java 8: http://developer.android.com/preview/j8-jack.html Потоки по-прежнему отсутствуют, но java.util.Spliterator (s) был включен вчера. Учитывая нынешние темпы, я ожидаю, что мы увидим Stream API в мае.

+1

Теперь пакет java.util.stream был объединен. –

2

Возможный дубликат: will android java support lambda expression in java 8?

В возможном дубликата вопроса, kapep ответил на этот вопрос (читайте полный ответ для более подробной информации):

Android не использует версии Oracle, Java SE, она основана на части проекта Apache Harmony, поэтому он даже не поддерживает Java 7. Гармония не активно развивается и не поддерживает 1.7.

Поэтому я думаю, что вы можете забыть о новых возможностях версии Oracle Java для разработки Android и следовать API Android (а не Oracle).

+2

Android поддерживает Java 7 в API уровня 19. См. [Здесь] (http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1.7). –

+0

Прочтите полный ответ (как я писал), чтобы понять мой собственный ответ. – mithrop

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