2017-01-11 16 views
8

Android dashboards pokazują, że tylko połowa urządzeń ma system Android 5.0 lub wyższy, ale liczby wyglądają inaczej dla naszego zestawu danych klienta - to ponad 93% naszych użytkowników. Zdecydowaliśmy się więc porzucić wsparcie dla urządzeń z wersją Androida niższą niż 5.0 i zmienić minSdkVersion z 15 na 21.Fragment kontra Fragment Pomocy przy kierowaniu na api 21 (Android 5.0) i powyżej

To uaktualnienie wymaga od nas przeglądu wszystkich przestarzałych funkcji i wyczyszczenia niektórych hackowskich obejść, które zastosowaliśmy do obsługi starszych wersje. Jedną z głównych funkcji, którą możemy teraz zastosować jest zastąpienie android.support.v4.app.Fragment przez android.app.Fragment. To brzmi jak dobry pomysł, zwłaszcza gdy wiemy, że fragment API had been reviewed and improved.

Wystarczy, aby upewnić się, że wezmę właściwą drogę i android.app.fragment nie zaskoczy mnie chciałbym sparafrazować pytanie z tego stackoverflow thread - Używasz fragmenty z biblioteki wsparcia, mimo że są już dostępne, przy opracowywaniu na Androida 5? Czy są jakieś błędy w API fragmentów, które występują w systemie Android 5.0 lub nowszym i zostały naprawione w bibliotece wsparcia?

Aktualizacja

Po Android KTX wydaniu Jake Wharton made the following statement in one of PRs:

Dzięki za poświęcenie czasu, aby PR (z badań), ale chcielibyśmy zachęcić że deweloperzy używać tylko fragmenty biblioteki wsparcia. Następna wersja Androida usunie wersję fragmentów wchodzących w skład platformy. W związku z tym nie zamierzamy dodawać żadnych rozszerzeń do obsługi ich w tym projekcie.

Używanie fragmentów z biblioteki pomocy technicznej jest właściwym rozwiązaniem.

Odpowiedz

6

Sugerowałbym wykorzystaniem fragmentów biblioteki wsparcie w każdym razie, z kilku powodów:

  1. Przyszłe funkcje mogą być dodawane i przeniesione, i wtedy trzeba by przepisać z nich korzystać
  2. konsystencji. Biblioteka wsparcia działa tak, aby fragmenty pomocy zawsze działały tak samo. Podczas gdy natywne fragmenty mogą mieć subtelne różnice między wersjami.
  3. Biblioteka obsługi może zawierać poprawki błędów na platformie i może być aktualizowana znacznie częściej.
+0

czy znasz jakieś szczególne błędy z fragmentem api dla Androida 5.0 i nowszych? Wiem, że z Androidem 4.0/4.1 było wiele problemów. Zastanawiam się tylko, jak dojrzały jest ten interfejs API: –

0

Uruchomiliśmy nową aplikację na Androida kilka miesięcy temu i zastanawialiśmy się nad tym samym.

IMO, należy zawsze próbować używać android.app.Fragment, jeśli to możliwe. W ten sposób masz pewność, że programiści Androida optymalizują, aktualizują i obsługują ten interfejs API, a otrzymasz produkt wysokiej jakości.

W tej chwili używamy android.support.v4.view.ViewPager i innych podobnych komponentów, które zapewniają inną funkcjonalność w bibliotece Support niż w normalnym API.

+1

Nie zgadzam się z tym, że "dostarczy Ci produkt wysokiej jakości". Gdyby to było prawdą, nie zadałbym tego pytania, ponieważ zespół Androida dałby nam solidny fragment API w systemie Android 4.0/3.0 –