Fragment ou de Soutien Fragment?
Je développe une application qui prend en charge Android >= 4.0. Il utilise des fragments de la android.app
paquet. Comme je suis confronté à des problèmes avec le plus vieux fragment de mise en œuvre de la version 4.0, comme cette une, qui sont déjà fixés dans la bibliothèque de prise en charge, j'envisage de passer à l'fragment de mise en œuvre de la bibliothèque de prise en charge pour obtenir une mesure plus fiable et une mise en œuvre cohérente.
Quelle est votre opinion à ce sujet? Êtes-vous à l'aide de fragments provenant de la bibliothèque de prise en charge, même s'ils sont déjà disponibles, le développement pour Android 4?
- C'est une belle question (+1 car il me rend curieux). Il n'y a pas une bonne explication sur le web pour cela. Je suis avec le soutien de la bibliothèque pour mon application et je me demande si je me trompe ou pas, parce que je n'ai pas remarqué de toute erreur lors de la compilation ou au cours de l'essai.
- La réponse par brillenheini prouve que ce n'est pas principalement un avis de réponse.
Vous devez vous connecter pour publier un commentaire.
De mon expérience, en utilisant le même fragment de mise en œuvre sur tous les appareils Android est un grand avantage. Je ne pouvais pas me débarrasser de tous les NullPointerExceptions lorsque l'état est enregistré sur Android 4.0 à l'aide de natif de fragments, avec le soutien de la bibliothèque, ils sont tous partis. Aussi je ne pouvais pas voir aucun inconvénient à ce jour avec cette approche.
Donc, ma réponse à ma propre question est maintenant: Lors du développement d'Android 4.x, à l'aide de fragments de la bibliothèque de prise en charge est une bonne idée. La bibliothèque de prise en charge a des bogues fixes qui sont toujours présents dans les vieux fragment de mise en œuvre et est fréquemment mis à jour avec des corrections de bug plus.
android.app.Fragment
alors? Si vous pouvez l'ajouter à votre réponse, here avec un peu plus d'explication, je serais pleinement satisfait. Merci!objectAnimator
, même si la cible réelle de l'OS prend en charge). Qui, dans le cas où vous utilisezViewPager
, signifie que vous avez à utiliser les adaptateurs de v13 bibliothèque de prise en charge, sinon vous ne pouvez pas avoir les deux viewpager et de retournement de l'animation.Une grande raison de s'en tenir au
SupportFragment
pendant un certain temps, c'est que vous n'avez pas accès à laChildFragmentManager
jusqu'à ce que l'API 17. La bibliothèque de prise en charge vous donnera une version prise en charge de l'enfant fragment de manager.Cela devient un gros problème si vous avez des fragments qui contiennent d'autres fragments. Cela est courant dans les applications pour tablettes avec une bonne dose de complexité et/ou de l'ensemble de votre architecture est basée sur l'un des onglets de mise en page ou utilise le tiroir de navigation.
J'ai également été frustré à avoir à inclure les bibliothèques de prise en charge, malgré ciblant Android 4.0+ - mais il semble qu'il est officiellement recommandé:
http://developer.android.com/tools/support-library/features.html
À mon humble avis, si vous êtes planification à développer pour la version 4.0, je vous recommande d'aller avec les bibliothèques natives depuis l'exécutable devient plus petit. Il est vrai que vous pourriez avoir des problèmes de bugs dans les premières versions, mais je pense que la plupart de ceux-ci devraient être assez trivial pour contourner. Aussi la bibliothèque de compatibilité est censé carte pour le natif de fragments dans le cas où vous êtes en cours d'exécution sur 4.0 et plus de toute façon. Donc, vous pourriez vous retrouver avoir à se battre avec ces sortes de problèmes de toute façon.
Le problème, avec le soutien des bibliothèques, c'est que vous avez beaucoup de classes apparaissent 2x (une fois dans le paquet de soutien de la structure et une fois dans le "natif" de la structure du package) qui rend le développement un peu plus lourd.
Cependant, si vous souhaitez également publier votre app pré 4.0, puis il n'y a aucun moyen de contourner la bibliothèque de prise en charge. En outre, depuis il y a environ 38% de tous les utilisateurs sur 2.3 il pourrait faire les affaires d'inclure cette version de l'OS. Dans ce cas, vous pouvez utiliser la bibliothèque de prise en charge en combinaison avec Jake Wartons ActionBarSherlock (ou avec googles soutien ActionBar Bibliothèque une fois qu'il est enfin libéré).
Il semble qu'il est préférable d'utiliser la Bibliothèque de prise en charge maintenant parce que j'ai vu la déclaration ici https://developer.android.com/reference/android/app/Fragment.html