¿Cuál es la diferencia entre android.app.Fragment
y android.support.v4.app.Fragment
, y cuáles son las circunstancias en las que cada uno debe usarse?
¿Cuál es la diferencia entre android.app.Fragment
y android.support.v4.app.Fragment
, y cuáles son las circunstancias en las que cada uno debe usarse?
android.support.v4.app.Fragment
es la clase Fragment en la biblioteca de soporte de Android, que es un paquete de compatibilidad que le permite utilizar algunas de las funciones más recientes de Android en versiones anteriores de Android.
android.app.Fragment
es la clase Fragment en la versión nativa del SDK de Android. Fue introducido en Android 3 (API 11).
Si desea hacer que su aplicación use fragmentos y desea apuntar a dispositivos antes de API 11, debe usarlos android.support.v4.app.Fragment
. Sin embargo, si solo está apuntando a dispositivos que ejecutan API 11 o superior, puede usar android.app.Fragment
.
Editar: el sistema operativo android.app.Fragment
ahora está en desuso (a partir del nivel 28 de API), y todos deberían pasar a usar las implementaciones de la biblioteca de soporte.
A partir de 2018:
De la
android.app.Fragment
documentación :Por lo tanto, los fragmentos de soporte (
android.support.v4.app.Fragment
) deben usarse en todas partes en lugar de fragmentos nativos (android.app.Fragment
) ahora.fuente
android.app.Fragment
clase fuera obsoleta, el nivel 28 de la API tuviera un enfoque de reemplazo alternativo, posiblemente radical. ¿Existe un enfoque hacia adelante o es compatible conandroid.support.v4.app.Fragment
la versión anterior?Yo uso
android.support.v4.app.Fragment
exclusivamente.Todas las aplicaciones que escribo deben ser compatibles con Android 2.3 y esta es la forma más fácil de hacerlo.
Si estás apoyando a 11+, entonces quédate
android.app.Fragment
.fuente
Si su aplicación está destinada a API 11 o superior, puede usarla
android.app.Fragment
y su archivo APK será más pequeño.De lo contrario, agregue la
android.support.v4.app.Fragment
biblioteca a su proyecto para admitir versiones anteriores de la API de Android (Android 3.x).fuente
android.support.v4.app.Fragment
es una biblioteca que puede usar para obtener compatibilidad con versiones anteriores de la API.Se agregaron fragmentos en el nivel de API 11 (junto con otras características). Debe incluir esa biblioteca para extender esas funciones a dispositivos anteriores a API 11. Esa es una biblioteca útil y sugiero echar un vistazo a ActionBarSherlock, que extiende la barra de acción a dispositivos pre-API v11.
fuente
Si su aplicación está destinada a API 11 o superior, puede usar android.app.Fragment y reducirá el tamaño del APK. De lo contrario, use android.support.v4.app.Fragment
fuente