Antworten:
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 :
Diese Klasse wurde in API-Ebene 28 nicht mehr unterstützt.
Verwenden Sie die Support-Bibliothek,Fragment
um ein konsistentes Verhalten auf allen Geräten und Zugriff auf Lifecycle zu gewährleisten.
Daher sollten Unterstützungsfragmente ( android.support.v4.app.Fragment
) jetzt überall anstelle von nativen Fragmenten ( android.app.Fragment
) verwendet werden.
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ärtskompatibel android.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
.
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.
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.
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