Was ist der Unterschied zwischen android.app.Fragment
und android.support.v4.app.Fragment
und unter welchen Umständen sollte jeder verwendet werden?
quelle
Was ist der Unterschied zwischen android.app.Fragment
und android.support.v4.app.Fragment
und unter welchen Umständen sollte jeder verwendet werden?
android.support.v4.app.Fragment
ist die Fragment- Klasse in der Android-Support-Bibliothek, ein Kompatibilitätspaket, mit dem Sie einige der neueren Funktionen von Android auf älteren Android-Versionen verwenden können.
android.app.Fragment
ist die Fragment- Klasse in der nativen Version des Android SDK. Es wurde in Android 3 (API 11) eingeführt.
Wenn Sie möchten, dass Ihre App Fragmente verwendet und Geräte vor API 11 als Ziel festlegen möchten, müssen Sie diese verwenden android.support.v4.app.Fragment
. Wenn Sie jedoch nur auf Geräte mit API 11 oder höher abzielen, können Sie diese verwenden android.app.Fragment
.
Bearbeiten: Das Betriebssystem android.app.Fragment
ist jetzt veraltet (ab API-Ebene 28), und jeder sollte die Implementierungen der Unterstützungsbibliothek verwenden.
Stand 2018:
Aus der
android.app.Fragment
Dokumentation :Daher sollten Unterstützungsfragmente (
android.support.v4.app.Fragment
) jetzt überall anstelle von nativen Fragmenten (android.app.Fragment
) verwendet werden.quelle
android.app.Fragment
, dass API-Level 28 , wenn die Klasse veraltet war, einen alternativen, möglicherweise radikalen Ersatzansatz haben würde. Gibt es einen Vorwärtsansatz oder ist dieser rückwärtskompatibelandroid.support.v4.app.Fragment
der richtige Ansatz?Ich benutze
android.support.v4.app.Fragment
ausschließlich.Alle Apps, die ich schreibe, müssen direkt für Android 2.3 unterstützt werden. Dies ist der einfachste Weg, dies zu tun.
Wenn Sie 11+ unterstützen, bleiben Sie dabei
android.app.Fragment
.quelle
Wenn Ihre Anwendung auf API 11 oder höher ausgerichtet ist, können Sie verwenden
android.app.Fragment
und Ihre APK-Datei wird kleiner.Andernfalls fügen Sie die
android.support.v4.app.Fragment
Bibliothek Ihrem Projekt hinzu, um ältere Android-API-Versionen (Android 3.x) zu unterstützen.quelle
android.support.v4.app.Fragment
ist eine Bibliothek, mit der Sie die Abwärtskompatibilität für ältere API-Versionen erhalten können.Fragmente wurden auf API-Ebene 11 hinzugefügt (zusammen mit anderen Funktionen). Sie sollten diese Bibliothek einschließen, um diese Funktion auf Geräte vor API 11 zu erweitern. Dies ist eine nützliche Bibliothek, und ich empfehle einen Blick auf ActionBarSherlock, mit dem die Aktionsleiste auf Geräte vor der API v11 erweitert wird.
quelle
Wenn Ihre Anwendung auf API 11 oder höher ausgerichtet ist, können Sie android.app.Fragment verwenden, wodurch die APK-Größe verringert wird. Andernfalls verwenden Sie android.support.v4.app.Fragment
quelle