Risposte:
android.support.v4.app.Fragment
è la classe Fragment nella libreria di supporto Android, che è un pacchetto di compatibilità che ti consente di utilizzare alcune delle nuove funzionalità di Android su versioni precedenti di Android.
android.app.Fragment
è la classe Fragment nella versione nativa di Android SDK. È stato introdotto in Android 3 (API 11).
Se desideri che la tua app utilizzi frammenti e desideri indirizzare i dispositivi prima dell'API 11, devi utilizzare android.support.v4.app.Fragment
. Tuttavia, se scegli come target solo dispositivi con API 11 o successiva, puoi utilizzare android.app.Fragment
.
Modifica: il contenuto del sistema operativo android.app.Fragment
ora è obsoleto (a partire dal livello API 28) e tutti dovrebbero spostarsi utilizzando le implementazioni della libreria di supporto.
A partire dal 2018:
Dalla android.app.Fragment
documentazione :
Questa classe è stata deprecata a livello di API 28.
Utilizzare la libreria di supportoFragment
per un comportamento coerente su tutti i dispositivi e l'accesso al ciclo di vita.
Quindi adesso i frammenti di supporto ( android.support.v4.app.Fragment
) dovrebbero essere usati ovunque invece dei frammenti nativi ( android.app.Fragment
).
android.app.Fragment
classe fosse stata deprecata, quel livello API 28 avrebbe avuto un approccio sostitutivo alternativo, forse radicale. Esiste un approccio in avanti o è compatibile con android.support.v4.app.Fragment
le precedenti?
Io uso android.support.v4.app.Fragment
esclusivamente.
Tutte le app che scrivo devono supportare subito Android 2.3 e questo è il modo più semplice per farlo.
Se stai supportando 11+, segui android.app.Fragment
.
Se l'applicazione è destinata all'API 11 o successiva, è possibile utilizzare android.app.Fragment
e il file APK sarà più piccolo.
Altrimenti, aggiungi la android.support.v4.app.Fragment
libreria al tuo progetto per supportare le vecchie versioni dell'API Android (Android 3.x).
android.support.v4.app.Fragment
è una libreria che è possibile utilizzare per ottenere la compatibilità con le versioni precedenti dell'API precedente.
Frammenti sono stati aggiunti a livello di API 11 (insieme ad altre funzionalità). Dovresti includere quella libreria per estendere tale funzione ai dispositivi pre-API 11. Questa è una libreria utile e suggerisco di dare un'occhiata ad ActionBarSherlock, che estende la barra delle azioni ai dispositivi pre-API v11.
Se la tua applicazione è destinata all'API 11 o superiore, puoi usare android.app.Fragment e ridurrà le dimensioni dell'APK. Altrimenti usa android.support.v4.app.Fragment