Odpowiedzi:
android.support.v4.app.Fragment
to klasa Fragment w bibliotece obsługi systemu Android, która jest pakietem kompatybilności, który umożliwia korzystanie z niektórych nowszych funkcji Androida na starszych wersjach Androida.
android.app.Fragment
to klasa Fragment w natywnej wersji zestawu Android SDK. Został wprowadzony w systemie Android 3 (API 11).
Jeśli chcesz, aby Twoja aplikacja korzystała z fragmentów i chcesz kierować reklamy na urządzenia starsze niż API 11, musisz użyć android.support.v4.app.Fragment
. Jeśli jednak kierujesz reklamy tylko na urządzenia z interfejsem API 11 lub nowszym, możesz użyć android.app.Fragment
.
Edycja: zawarty w systemie system operacyjny android.app.Fragment
jest teraz przestarzały (od poziomu 28 interfejsu API) i wszyscy powinni przejść do korzystania z implementacji bibliotek obsługi.
Od 2018 roku:
Z android.app.Fragment
dokumentacji :
Ta klasa została wycofana na poziomie interfejsu API 28.
Użyj biblioteki pomocy technicznej,Fragment
aby zapewnić spójne zachowanie na wszystkich urządzeniach i uzyskać dostęp do cyklu życia.
Dlatego fragmenty wsparcia ( android.support.v4.app.Fragment
) powinny być teraz używane wszędzie zamiast natywnych fragmentów ( android.app.Fragment
).
android.app.Fragment
klasa zostanie wycofana, ten poziom API 28 będzie miał alternatywne, prawdopodobnie radykalne podejście zastępcze. Czy istnieje podejście naprzód, czy też jest ono kompatybilne wstecz, android.support.v4.app.Fragment
właściwe podejście?
Używam android.support.v4.app.Fragment
wyłącznie.
Wszystkie aplikacje, które piszę, muszą obsługiwać od razu Androida 2.3 i jest to najłatwiejszy sposób na zrobienie tego.
Jeśli wspierasz 11+, trzymaj się android.app.Fragment
.
Jeśli Twoja aplikacja jest przeznaczona dla interfejsu API 11 lub nowszego, możesz użyć, android.app.Fragment
a plik APK będzie mniejszy.
W przeciwnym razie dodaj android.support.v4.app.Fragment
bibliotekę do projektu, aby obsługiwać starsze wersje Android API (Android 3.x).
android.support.v4.app.Fragment
to biblioteka, której możesz użyć, aby uzyskać zgodność wsteczną ze starszymi wersjami API.
Fragmenty zostały dodane na poziomie API 11 (wraz z innymi funkcjami), należy dołączyć tę bibliotekę, aby rozszerzyć te funkcje na urządzenia starsze niż API 11. Jest to przydatna biblioteka i proponuję przyjrzeć się ActionBarSherlock, który rozszerza pasek akcji na urządzenia starsze niż API v11.
Jeśli Twoja aplikacja jest przeznaczona na poziom API 11 lub wyższy, możesz użyć android.app.Fragment i zmniejszy to rozmiar pliku APK. W przeciwnym razie użyj android.support.v4.app.Fragment