2015-02-26 16 views
19

Próbuję użyć java.time.LocalDate w mojej aplikacji dla systemu Android, jednak jeśli spróbuję zaimportować, to każda klasa z java.time daje nie może rozwiązać błąd symbolu w Androidzie 1.1nie może rozwiązać błędu "java.time.LocalDate" w Androidzie studio

Jedynym powodem, dla którego mogłem zrozumieć, że to nie obsługuje języka Java 8. Czy tak naprawdę jest tak?

+0

To drugie pytanie nie jest tak naprawdę duplikatem. Pyta o ogólnie środowisko Java 8, podczas gdy niniejsze pytanie koncentruje się na konkretnym pakiecie klas. A teraz, w 2016 roku, możesz używać Java 8 funkcji językowych w rozwoju Androida, ale nie używać klas java.time. Tak więc dwa różne problemy, dwa różne rozwiązania i dwa różne pytania. –

Odpowiedz

10

Android poziom API 26

Android API poziom 26 zyskał implementację java.time tym swojej klasie LocalDate.

Wcześniej Android

Dla Androida < 26, alternatywy obejmują:

  • ThreeTen-Backport jest back-port wiele funkcjonalności java.time do Java 6 & 7.
    • ThreeTenABP dostosowuje ThreeTen-Backport do Androida.
  • Joda-Time jest powszechnie stosowany w projektach Android. Joda-Time zainspirował pakiet java.time w Javie 8, ale nie są one zamiennikami. Zespół Joda-Time zaleca migrację do java.time.
+0

+1 dla podpowiedzi, że Threeten-backport nie jest kompletną wersją (wsparcie dla i18n jest inne ze względu na zmienione środowisko, a także mniejszą obsługę kalendarza). –

+0

java.time został dodany w API26 https://developer.android.com/reference/java/time/LocalDate.html –

+0

@ maracuja-juice Tak odnotowano w mojej poprawionej odpowiedzi. Dzięki –

2

Data/godzina - API zawarte w Javie 8 zostało dodane do 26 poziomu Androida API, który został niedawno wydany.

DateTimeFormatter API 26

+1

ale bezużyteczne, ponieważ obsługuje tylko jeśli twój obecny min. SDK wynosi 26 – Hamza

Powiązane problemy