Ich habe auf den neuesten Android N SDK aktualisiert. Das einzige, was ich nicht verstehe, ist warum ich java.time
nicht in meinen Code importieren kann? Ich dachte, dass Java8 über Android N verfügbar ist. Warum hat Google dann kein java.time
Paket hinzugefügt?Android N Java8 java.time
Antwort
Android N unterstützt nicht alle Funktionen von Java 8. Folgende Funktionen werden nur unterstützt:
- Standard und statische Schnittstelle Methoden
- Lambda-Ausdrücke
- wiederholbar Anmerkungen
Reflection und sprachbezogene APIs:
java.lang.FunctionalInterface
java.lang.annotation.Repeatable
java.lang.reflect.Method.isDefault()
und Reflection APIs mit wiederholbaren Annotationen verbunden sind, wie AnnotatedElement.getAnnotationsByType(Class)
Utility-APIs:
java.util.function
Weitere Informationen unter folgendem Link einsehen: http://developer.android.com/preview/j8-jack.html
Danke für die Gliederung. Ich denke, unsere einzige Option für Java 8 Time API ist https://github.com/JakeWharton/ThreeTenABP –
@Igor rechts bis zur stabilen Version von Android-n wird freigegeben. hoffe in stabiler Version werden sie unterstützen –
Nun, wenn sie noch nicht die Zeit API hinzugefügt haben, dann werden sie wahrscheinlich nicht in Android N. Sonst habe ich keine Ahnung, wie Google entscheidet, bestimmte Apis einzuschließen oder wegzulassen ... –
Es gibt Backport Bibliothek von java.time
APIs für Android, die
java.time
Paket wurde nur 26 in API hinzugefügt werden können (Android O):
https://developer.android.com/reference/java/time/package-summary.html
nur warten ist eine Option: jack ist jetzt veraltet und java8 API wird bald direkt unterstützt werden: https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html – ccpizza
@ccpizza Sie unterstützen nicht alle Funktionen von Java 8 für Android. –
Ein großer Teil der java.time-Funktionalität wird im Projekt [* ThreeTen-Backport *] (http://www.threeten.org/threetenbp/) zurück zu Java 6 & 7 portiert. Weiter angepasst für Android im [* ThreeTenABP *] (https://stackoverflow.com/q/36000997/642706) Projekt; siehe [* How to use ... *] (https://stackoverflow.com/q/38922754/642706). –