2016-03-15 9 views
12

Ho aggiornato all'ultima versione di Android N sdk. L'unica cosa che non capisco è perché non riesco a importare java.time nel mio codice? Pensavo che Java8 fosse disponibile tramite Android N. Allora perché Google non ha aggiunto il pacchetto java.time?Android N Java8 java.time

+0

è solo un'opzione: jack è ora obsoleto e l'API java8 sarà presto supportata direttamente: https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html – ccpizza

+0

@ccpizza Non supportano tutte le funzionalità di Java 8 per Android. –

+0

Gran parte della funzionalità java.time è back-porting su Java 6 e 7 nel progetto [* ThreeTen-Backport *] (http://www.threeten.org/threetenbp/). Ulteriore adattamento per Android nel progetto [* ThreeTenABP *] (https://stackoverflow.com/q/36000997/642706); vedere [* Come usare ... *] (https://stackoverflow.com/q/38922754/642706). –

risposta

18

Android N non sostiene tutte le funzionalità di Java 8. seguenti caratteristiche sono supportate solo:

  • predefinita e metodi di interfaccia statici
  • Espressioni lambda
  • annotazioni ripetibili

API relative alla riflessione e alla lingua:

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

e Reflection API associati annotazioni ripetibili, come AnnotatedElement.getAnnotationsByType(Class)

API utenze:

  • java.util.function

Per maggiori informazioni controllare il seguente link: http://developer.android.com/preview/j8-jack.html

+4

Grazie per il contorno. Immagino che la nostra unica opzione per Java 8 Time api sia https://github.com/JakeWharton/ThreeTenABP –

+1

@Igor fino a quando non verrà rilasciata la versione stabile di Android-n. speriamo nella versione stabile che supporteranno –

+0

Bene, se non hanno ancora aggiunto l'API di Time, allora probabilmente non lo faranno in Android N. Altrimenti, non ho idea di come Google prende le decisioni per includere o omettere certi apis ... –