Estoy desarrollando una aplicación compatible con Android> = 4.0. Utiliza fragmentos del android.app
paquete. Como me enfrento a problemas con la implementación de fragmentos más antigua en 4.0, como esta , que ya están arreglados en la biblioteca de soporte, estoy considerando volver a la implementación de fragmentos desde la biblioteca de soporte para obtener una implementación más confiable y consistente.
¿Qué opinas de esto? ¿Está utilizando fragmentos de la biblioteca de soporte, aunque ya están disponibles, al desarrollar para Android 4?
android
android-fragments
android-support-library
Brillenheini
fuente
fuente
Respuestas:
Desde mi experiencia, usar la misma implementación de fragmentos en todos los dispositivos Android es una gran ventaja. No pude deshacerme de todas las NullPointerExceptions cuando el estado se guarda en Android 4.0 usando fragmentos nativos, con la biblioteca de soporte todos se han ido. Además, no podía ver ninguna desventaja hasta ahora con este enfoque.
Entonces, mi respuesta a mi propia pregunta es ahora: cuando desarrolle para Android 4.x, usar los fragmentos de la biblioteca de soporte es una buena idea. La biblioteca de soporte tiene errores corregidos que todavía están presentes en implementaciones de fragmentos más antiguos y se actualiza con frecuencia con más correcciones de errores.
fuente
android.app.Fragment
entonces? Si puede agregar esto a su respuesta aquí con un poco más de explicación, estaría completamente satisfecho. ¡Gracias!objectAnimator
, incluso si el sistema operativo de destino real lo admite). Lo que, en caso de que esté usandoViewPager
, significa que debe usar adaptadores de la biblioteca de soporte v13, de lo contrario no puede tener tanto el visor como la animación de volteo.Una gran razón para seguir con esto
SupportFragment
por un tiempo es que no tiene acceso a laChildFragmentManager
API hasta la 17. La biblioteca de soporte le dará una versión de soporte del administrador de fragmentos secundarios.Esto se convierte en un gran problema si tiene fragmentos que contienen otros fragmentos. Esto es común en aplicaciones de tabletas con una gran complejidad y / o su arquitectura general se basa en un diseño con pestañas o utiliza el cajón de navegación.
fuente
También me frustraba tener que incluir las bibliotecas de soporte, a pesar de apuntar a Android 4.0+, pero parece que se recomienda oficialmente:
http://developer.android.com/tools/support-library/features.html
fuente
En mi humilde opinión, si planea desarrollar solo para 4.0, recomendaría ir con las bibliotecas nativas ya que el ejecutable se hará más pequeño. Es cierto que podría tener problemas de errores en las primeras versiones, pero creo que la mayoría de estos deberían ser bastante triviales. Además, se supone que la biblioteca de compatibilidad se debe asignar a los fragmentos nativos en caso de que esté ejecutando en 4.0 y versiones superiores de todos modos. Por lo tanto, puede terminar teniendo que luchar con este tipo de problemas de todos modos. El problema con las bibliotecas de soporte es que muchas de las clases aparecen 2 veces (una vez en la estructura del paquete de soporte y otra en la estructura del paquete "nativo"), lo que hace que el desarrollo sea un poco más engorroso.
Sin embargo, si desea lanzar también su aplicación pre 4.0, entonces no hay forma de evitar la biblioteca de soporte. Además, dado que hay aproximadamente el 38% de todos los usuarios en 2.3, podría tener sentido comercial incluir esta versión del sistema operativo. En tal caso, puede usar la biblioteca de soporte en combinación con Jake Wartons ActionBarSherlock (o con los googles compatibles con ActionBar Library una vez que finalmente se lance).
fuente
Parece que es mejor usar Support Library ahora porque vi la declaración aquí https://developer.android.com/reference/android/app/Fragment.html
fuente