Diferencia entre android.app.Fragmento y android.apoyo.v4.app.Fragmento


¿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 ser utilizado?

Author: CJBS, 2013-02-27

6 answers

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 usar algunas de las características más nuevas 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 que su aplicación use fragmentos y desea dirigirse a dispositivos antes de la API 11, debe usar android.support.v4.app.Fragment. Sin embargo, si solo estás segmentando dispositivos ejecutando API 11 o superior, puede usar android.app.Fragment.

Editar: el contenido del sistema operativo android.app.Fragment ahora está en desuso (a partir del nivel de API 28), y todos deben pasar a usar las implementaciones de la biblioteca de soporte.

 269
Author: Raghav Sood,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-20 15:43:33

A partir de 2018:

De android.app.Fragment documentación:

Esta clase fue obsoleta en el nivel de API 28.
Utilice la biblioteca de soporte Fragment para un comportamiento coherente en todos los dispositivos y el acceso al ciclo de vida.

Así que los fragmentos de soporte (android.support.v4.app.Fragment) deben usarse en todas partes en lugar de los fragmentos nativos(android.app.Fragment) ahora.

 40
Author: Artyom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-23 11:41:49

Utilizo 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 usted está apoyando 11+ entonces pegarse a android.app.Fragment.

 12
Author: alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-27 10:00:49

Si su aplicación está dirigida a API 11 o superior, puede usar android.app.Fragment y su archivo APK será más pequeño.

De lo contrario, agregue la biblioteca android.support.v4.app.Fragment a su proyecto para admitir versiones anteriores de la API de Android (Android 3.x).

 4
Author: Ahmad Payan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-18 11:19:32

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 pre-API 11. Esa es una biblioteca útil y sugiero echar un vistazo a ActionBarSherlock, que extiende la barra de acciones a los dispositivos pre-API v11.

 2
Author: MonkeyDroid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-01 20:27:52

Si tu aplicación está dirigida a un nivel API 11 o superior, puedes usar Android.app.Fragmento y reducirá el tamaño del APK. De lo contrario, utilice Android.apoyo.v4.app.Fragmento

 -1
Author: vinod wickramasekara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-25 13:46:34