2013-02-27 17 views

risposta

236

android.support.v4.app.Fragment è la classe Fragment nella libreria di supporto di Android, che è un pacchetto di compatibilità che consente di utilizzare alcune delle funzionalità più recenti di Android nelle versioni precedenti di Android.

android.app.Fragment è la classe Fragment nella versione nativa di Android SDK. È stato introdotto in Android 3 (API 11).

Se si desidera che la propria app utilizzi frammenti e desideri utilizzare i dispositivi di destinazione prima dell'API 11, è necessario utilizzare android.support.v4.app.Fragment. Tuttavia, se utilizzi solo dispositivi con API 11 o versioni successive, puoi utilizzare android.app.Fragment.

+3

Vedere anche "Utilizzo di FragmentStatePagerAdapter SENZA libreria di supporto": http://stackoverflow.com/questions/18512294/using-fragmentstatepageradapter-without-support-library – CJBS

+0

Se si esegue l'override suAttach(), vedere questo thread per evitarlo essere chiamato in alcune circostanze con android.app.Fragment: https://stackoverflow.com/questions/32083053/android-fragment-onattach-deprecated – Hong

10

Io uso android.support.v4.app.Fragment esclusivamente.

Tutte le app che scrivo devono supportare direttamente Android 2.3 e questo è il modo più semplice per farlo.

Se si supporta 11+, attenersi a android.app.Fragment.

+12

In questo caso ti stai perdendo un sacco di funzionalità che esistono nel supporto libreria ma solo in quella nativa dopo un determinato livello API. getChildFragmentManager() ad esempio non è disponibile fino al livello 17. Il mio consiglio è di usare solo i frammenti di supporto e fingere che quello nativo non esista. – Johan

2

android.support.v4.app.Fragment è una libreria che è possibile utilizzare per ottenere la retrocompatibilità per la versione API precedente.

I frammenti sono stati aggiunti al livello API 11 (insieme ad altre funzionalità), è necessario includere tale libreria per estendere tali funzioni ai dispositivi pre-API 11. Questa è una libreria utile e suggerisco di dare un'occhiata a ActionBarSherlock, che estende la barra delle azioni ai dispositivi pre-API v11.

4

Se l'applicazione è mirata per API 11 o superiore, è possibile utilizzare android.app.Fragment e il file APK sarà più piccolo.

In caso contrario, aggiungere la libreria android.support.v4.app.Fragment al progetto per supportare versioni precedenti di API Android (Android 3.x).

1

Le risposte sono abbastanza di destra

Ma come il passare del tempo e secondo https://en.wikipedia.org/wiki/Android_version_history è abbastanza raro che la tua nuova app Android deve supportare dispositivi con Android SDK meno di 11.

Così si può dimenticare android.support.v4.app.Fragment e utilizzare in tutta sicurezza android.app.Fragment nella tua app.

Problemi correlati