Résumé de l’Atelier du 23 Mars sur les fragments

Allez hop, petit retour du premier atelier du BAUG qui a eu lieu ce samedi 23 Mars dans les locaux du coolworking. L'occasion de voir le fonctionnement et l'utilisation des […]

Allez hop, petit retour du premier atelier du BAUG qui a eu lieu ce samedi 23 Mars dans les locaux du coolworking. L'occasion de voir le fonctionnement et l'utilisation des fragments au cours de la matinée.

Je tiens à remercier tous les participants de cette première session, l'équipe du coolworking pour nous avoir hébergé et Pierre-Emmanuel Mercier pour avoir aidé pour l'organisation.

Pour tous les participants ou simplement pour avoir des informations, j'ai mis sur mon espace github les différents codes que j'ai utilisé lors de cette sessions ; cela passe par les deux projets suivant :

  1. https://github.com/codlab/baug_fragments_exemple1
  2. https://github.com/codlab/exemple_atelier_2

Le premier projet contient le code modifié proposé dans le projet d'exemple MasterDetailFlow lorsque vous créez votre application android. Les modifications? He bien, si vous avez assisté à l'atelier, vous avez pu voir que nous avions utilisé cette base de projet pour voir l'utilisation de fragments sur mobile et tablette. Mais! Et oui mais, ce code proposé par défaut utilise (dans le cas de mobile : petits écrans), deux activités avec chacune 1 fragment. "Oui et?" me direz-vous?

Et bien, "voila" (enfin je commencerais surement par cela) : pourquoi utiliser deux activités lorsque le système propose de pouvoir gérer l'ajout, supression, remplacement de fragments au sein de la même activité ? Pure réthorique, c'est évidemment inutil.

Donc vous pourrez retrouver dans ce projet (spécifiquement), une série de modifications sur l'activité ItemListActivity gérant les fragments pour ne jamais quitter l'activité mais jouer avec les fragments

Enfin dans le second projet, à coupler avec la bibliothèque SlidingMenu (que vous pouvez aussi retrouver sur mon github, forkée depuis le projet d'origine https://github.com/jfeinstein10/SlidingMenu et avec quelques modifications pour le support d'ActionbarSherlock => extends de FragmentActivity à SherlockFragmentActivity), vous avez un exemple de code minimaliste pour obtenir un rendu de menu latéral gauche pouvant intéragir avec l'utilisateur pour s'afficher ou disparaitre.

Maintenant? Vous avez avec ces deux projets, un moyen simple de mettre en oeuvre une application utilisant des fragments.

Mais attention, l'utilisation de ces fragments nécessite de rappeler que l'ergonomie et l'expérience utilisateur ne doivent jamais s'en trouver dégradées.

En utilisant le Sliding Menu, assurez-vous toujours que l'utilisateur sache qu'il existe. En effet, si il est présent mais qu'il n'est pas indiqué, il devient alors inutile.

Essayez aussi de toujours garder une cohérence dans son utilisation : d'une activité à l'autre, utilisez toujours la même configuration du menu (l'utilisateur n'a pas à avoir à changer de comportements au sein de l'application) et essayez de suivre ce qui se fait dans les autres applications pour profiter de l'expérience que l'utilisateur possède d'ailleurs : il possèdera certains réflexes.

Pour ce qui est des fragments, assurez-vous d'avoir toujours une gestion des rechargements de fragments (éviter les données stockées en interne, favorisez les utilisations de référence à des objets persistents ou semi-persistent), n'utilisez jamais de références d'un fragment dans un fragment : préférez le passage par l'activité, un service, des événements.

Enfin, lorsque plusieurs fragments sont ajoutés, pensez à rendre la barre d'action en "up enabled" et de gérer le clic/événement sur l'élément du menu nommé android.R.id.home.

Pour aller plus loin encore et fragmenter tout en s'amusant, retrouvez aussi des articles sur le site officiel : http://developer.android.com/training/basics/fragments/index.html

Vous pourrez aussi trouver des informations sur le fragments au travers de mes différents projets (http://github.com/codlab dont la liste devrait grandir dans les prochains jours, le temps de charger les projets de code.google.com vers mon github) et le site de Christophe Oudar notamment (http://kayrnt.wordpress.com/)

Pour le mot de la fin, je ne ferais pas de grands discours, juste remercier à nouveau les différents participants (et mon père 😉 ), les membres du coolworking, Pierre-Emmanuel Mercier.

N'hésitez pas à me contacter sur mon mail codlabtech@gmail.com, twitter @codlab pour plus d'informations ou même des questions ; je serais ravi de compléter à la fois vos connaissances et cet article.

Social Share Toolbar
KevinLeperf

About KevinLeperf

Eleve-Ingenieur en dernière année à l'ENSEIRB-Matmeca et développeur Android depuis quelques années déjà. Collectionne les terminaux sous Android, développeur d'applications et rom sous Android