Androide.aplicación de los Fragmentos vs android.apoyo.v4.aplicación usando ViewPager?


Tengo una pregunta con respecto a las Bibliotecas de soporte de Android, Fragmentos, y como un ejemplo específico, la clase ViewPager. Mi intención es crear una aplicación con funcionalidad similar a la muestra proporcionada en el sitio web del desarrollador Android ( http://developer.android.com/training/animation/screen-slide.html o http://developer.android.com/training/implementing-navigation/lateral.html). Mirando en su código, he notado que utilizan la biblioteca android.support.v4.app, que desde mi la investigación es la única forma de acceder a la clase ViewPager.

En mi situación, no tengo ningún interés en la compatibilidad con versiones anteriores. El nivel mínimo de API es 14 (Ice Cream Sandwich) y el objetivo de compilación es 4.2 Jelly Bean. En su forma más simple, mi aplicación funciona exactamente como lo hace la segunda demostración que vinculé en el sitio web de desarrollo de Android, simplemente deslizando entre tres pestañas con contenido en cada una.

Todos los artículos/publicaciones/respuestas que he leído parecen favorecer en gran medida la biblioteca de soporte v4. Ahora para mi(s) pregunta (s), aunque larga (s):

  1. ¿Cuál es la mejor manera de estructurar mi aplicación-usando android.support.v4.app, y por lo tanto usando SupportFragments, o usar los Fragmentos proporcionados en android.app - y por qué?

  2. Si los fragmentos de android.app son el camino a seguir, ¿cuál es la manera óptima de acercarse a ViewPagers?

  3. Si SupportFragments son los más adecuados para la tarea, estimaría que poseen la misma funcionalidad que el otro, así que cuál es el propósito ¿de tenerlos en absoluto dentro android.app?

Espero que alguien con una comprensión más clara pueda darme un poco de aclaración porque estoy aturdido...

Author: Tot Zam, 2013-07-09

3 answers

Puedes usar ViewPager con fragmentos nativos del paquete android.app con los adaptadores de android .apoyo.v13.paquete app. Tienes que usar el jar de soporte v13 para eso.

Hay dos versiones de los adaptadores que funcionan con ViewPager, los que están en el paquete v4 están destinados a ser utilizados con fragmentos de soporte, los que están en v13 con fragmentos nativos.

La razón por la que ahora hay dos implementaciones de fragmentos es histórica: Los fragmentos en el paquete android.app fueron introducido con Android 3 solo para tabletas y la biblioteca de soporte se creó para llevar fragmentos a los teléfonos que ejecutan versiones anteriores. En Android 4 tienes ambos.

Desde mi propia experiencia, recomendaría usar fragmentos de soporte, incluso cuando se desarrolla para Android 4. He aquí algunas razones: Fragmento o Fragmento de soporte?

 183
Author: brillenheini,
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-05-23 11:54:54

android.app.Fragment la clase está obsoleta desde Android P (link ), por lo que solo android.support.v4.app.Fragment debe usarse en todas partes.

 3
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-03-28 12:15:32

Si vas a apuntar a API 11+, no necesitarás la biblioteca de soporte [y tu apk real será más pequeña, al menos).

Si desea apoyar cualquier cosa antes de Android 3.x, necesitarás la biblioteca de soporte.

¿Es esto lo que estás preguntando?

 1
Author: Matt,
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-07-09 16:57:25