Zaktualizowałem do najnowszej wersji Androida N sdk. Jedyne, czego nie rozumiem, to dlaczego nie mogę zaimportować java.time
do mojego kodu? Myślałem, że Java8 jest dostępna przez Android N. Więc dlaczego Google nie dodał pakietu java.time
?Android N Java8 java.time
Odpowiedz
Android N nie obsługuje wszystkie funkcje Java 8. następujące funkcje są obsługiwane tylko:
- domyślna i statyczne metody interfejsu
- Lambda wyrażeń
- powtarzalne adnotacje
Interfejsy API związane z odbiorem i językiem:
java.lang.FunctionalInterface
java.lang.annotation.Repeatable
java.lang.reflect.Method.isDefault()
i odbicie API związanych z powtarzalnych opisów, jak AnnotatedElement.getAnnotationsByType(Class)
użytkowe API:
java.util.function
uzyskać więcej informacji sprawdź następujące łącze: http://developer.android.com/preview/j8-jack.html
Dzięki za konspekt. Domyślam się, że nasza jedyna opcja dla Java 8 Time api to https://github.com/JakeWharton/ThreeTenABP –
@Igor right until stabilna wersja Androida-n zostanie wydana. mam nadzieję, że w stabilnej wersji będą wspierać –
Cóż, jeśli nie dodali jeszcze api Time, to prawdopodobnie nie będą działać w Androidzie N. W przeciwnym razie nie mam pojęcia, jak Google podejmuje decyzję o włączeniu lub opuszczeniu niektórych apis ... –
Jest backport biblioteka java.time
API dla systemu Android, który może być stosowany
java.time
pakiet został dodany tylko w API 26 (Android O):
https://developer.android.com/reference/java/time/package-summary.html
tylko czeka jest opcja: Jack jest teraz przestarzała i API Java wkrótce będzie obsługiwane bezpośrednio: https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html – ccpizza
@ ccpizza Nie obsługują wszystkich funkcji Java 8 dla Androida. –
Duża część funkcji java.time została przeniesiona z powrotem do Java 6 i 7 w projekcie [* ThreeTen-Backport *] (http://www.threeten.org/threetenbp/). Dalsze dostosowanie do systemu Android w projekcie [* ThreeTenABP *] (https://stackoverflow.com/q/36000997/642706); zobacz [* Jak korzystać ... *] (https://stackoverflow.com/q/38922754/642706). –