Quelle est la différence entre android.app.Fragment
et android.support.v4.app.Fragment
et quelles sont les circonstances dans lesquelles chacun devrait être utilisé?
Quelle est la différence entre android.app.Fragment
et android.support.v4.app.Fragment
et quelles sont les circonstances dans lesquelles chacun devrait être utilisé?
android.support.v4.app.Fragment
est la classe Fragment dans la bibliothèque de support Android, qui est un package de compatibilité qui vous permet d'utiliser certaines des nouvelles fonctionnalités d'Android sur les anciennes versions d'Android.
android.app.Fragment
est la classe Fragment dans la version native du SDK Android. Il a été introduit dans Android 3 (API 11).
Si vous souhaitez que votre application utilise des fragments et que vous souhaitez cibler des appareils avant l'API 11, vous devez utiliser android.support.v4.app.Fragment
. Cependant, si vous ciblez uniquement les appareils exécutant l'API 11 ou une version ultérieure, vous pouvez utiliser android.app.Fragment
.
Edit: le système d'exploitation android.app.Fragment
est désormais obsolète (à partir du niveau d'API 28), et tout le monde devrait passer à l'utilisation des implémentations de la bibliothèque de support.
À partir de 2018:
De la
android.app.Fragment
documentation :Les fragments de support (
android.support.v4.app.Fragment
) devraient donc être utilisés partout au lieu des fragments natifs (android.app.Fragment
) maintenant.la source
android.app.Fragment
classe soit obsolète, ce niveau d'API 28 ait une approche de remplacement alternative, éventuellement radicale. Existe-t-il une approche avant ou est-ce que cette approche rétrocompatible estandroid.support.v4.app.Fragment
la bonne approche?J'utilise
android.support.v4.app.Fragment
exclusivement.Toutes les applications que j'écris doivent être compatibles avec Android 2.3 et c'est le moyen le plus simple de le faire.
Si vous soutenez 11+, respectez-le
android.app.Fragment
.la source
Si votre application est ciblée pour l'API 11 ou supérieure, vous pouvez l'utiliser
android.app.Fragment
et votre fichier APK sera plus petit.Sinon, ajoutez la
android.support.v4.app.Fragment
bibliothèque à votre projet afin de prendre en charge les anciennes versions d'API Android (Android 3.x).la source
android.support.v4.app.Fragment
est une bibliothèque que vous pouvez utiliser pour obtenir une rétrocompatibilité avec une ancienne version d'API.Des fragments ont été ajoutés au niveau de l'API 11 (avec d'autres fonctionnalités), vous devez inclure cette bibliothèque pour étendre ces fonctions aux appareils pré-API 11. C'est une bibliothèque utile et je suggère de jeter un œil à ActionBarSherlock, qui étend la barre d'action aux appareils pré-API v11.
la source
Si votre application est ciblée pour l'API 11 ou un niveau supérieur, vous pouvez utiliser android.app.Fragment et cela réduira la taille de l'APK. Sinon, utilisez android.support.v4.app.Fragment
la source