Découvrir le développement d'applications avec Android 5

Comprendre le RecyclerView

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez les concepts théoriques du RecyclerView. Il s'agit de la nouvelle classe de gestion des listes disponibles dans la librairie de support officiel.
04:26

Transcription

Voyons maintenant un des composants essentiels d'une application mobile. Ce qu'on appelle le RecyclerView, sur Androïd, n'est rien d'autre qu'une liste. Alors jusqu'à présent, jusqu'à avant le matériel design sur les applis précédentes on avait une classe différente qui permettait de gérer ça, ce qu'on appelait le ListView. Seulement, il était assez compliqué d'avoir des performances acceptables avec ListView. C'était faisable, mais ça demandait pas mal de travail pour le développeur, Et pour cette raison, le RecyclerView a été développé par Google, pour simplifier la tâche. Voici en gros le principe d'un RecyclerView : vous avez des cellules, on peut voir sur cette image que les contenus dépassent la taille de l'écran, et que donc la dernière cellule est partiellement visible. On peut supposer qu'il y en a d'autres en dessous. Donc l'utilisateur doit pouvoir faire glisser cette cellule, cette cellule vers le haut ou vers le bas pour arriver à faire apparaitre les éléments précédents. Pour arriver à faire ça, il va falloir mettre en place plusieurs classes et pas mal de code pour le faire fonctionner. Nous allons essayer de voir un petit peu comment ça fonctionne. Le principe du RecyclerView, est qu'il fonctionne de pair avec un Adapter. Donc le nom de la classe est Adapter. L'Adapter est un objet que vous allez coder vous-même, et qui va fournir les données au RecyclerView. Le principe de l'Adapter, il a en gros de deux tâches, créer les cellules, et ensuite affecter les données à chacune des cellules. Et au lieu de créer directement ces cellules, il va créer un petit objet, qui s'appelle un ViewHolder, qui va gérer chacune des cellules. Voici en gros ce qui pourrait se passer : si j'ai une liste avec un élément qui dépasse en haut, et un élément en bas qui est partiellement visible, il va créer les 4 cellules visibles, dont celle qui ne l'est que partiellement, mais il va aussi créer la 5ème, juste en haut. Quand on va scroller, quand on va faire glisser notre liste vers le haut, on a une cellule qui va sortir petit à petit de l'écran, l'autre qui va rentrer et on aura bientôt besoin d'une autre cellule pour le prochain élément de liste, qui est probablement en-dessous, qu'on ne voit pas pour le moment. Plutôt que de recréer à chaque fois une nouvelle cellule et un nouveau ViewHolder pour gérer cette prochaine cellule qui va arriver, on se rend compte qu'on en a une qui est déjà sortie de l'écran, qui ne sert plus à rien. Donc ce qu'on va faire, on va la recycler. C'est pour ça qu'on appelle ça un RecyclerView. Donc ce qui va se passer en scrollant, c'est ce que cette vue va être renvoyée en bas, prête à être réutilisée pour le prochain défilement. Et tout ça, ça va très vite. Là vous avez vu une animation qui est un petit peu ralentie pour essayer de vous montrer comment ça va fonctionner, mais il faut envisager que sur un scroll de liste, il faut que ce soit extrêmement rapide. Et c'est pour cette raison, qu'il a été choisi de recycler les vues plutôt que d'en recréer des nouvelles à chaque fois. Pour gagner du temps, mais aussi pour ne pas consommer de la mémoire inutilement. Car si on ne fait pas ça, ce qui va se passer, c'est qu'on va créer à chaque scroll une nouvelle cellule. Si vous avez une liste avec, peut-être, 500 éléments, au début, vous en avez peut-être créé que 5, mais plus vous allez scroller, plus vous allez créer des objets en mémoire, et donc la mémoire du téléphone va se remplir jusqu'à être saturée. Avec ce fonctionnement, on va réutiliser les cellules, donc on aura au maximum 5 cellules crées, qu'on en affiche 5 ou 500, comme on sait qu'on affiche que 5 à la fois, à chaque passage, l'Adapter va refournir les nouvelles données à la cellule recyclée. Ce qui se passe, une fois qu'elle a été renvoyée en bas, c'est que l'Adapter ne va pas la recréer, mais va lui donner les nouvelles données à afficher. Ce ViewHolder sera responsable de recevoir des nouvelles données, et de les insérer à l'intérieur. En plus de ça, le ViewHolder sera responsable de gérer les interactions, À savoir si quelqu'un touche la cellule, d'effectuer l'action qui correspond à sa cellule. c'est le ViewHolder qui va servir de Listener, et éventuellement, effectuer une action quand l'utilisateur sélectionne une cellule ou un des boutons ou un des éléments qui sont présents dans la cellule. Il faut savoir qu'en plus de l'Adapter et des ViewHolders, il existe un troisième composant qui va intervenir, qui s'appelle le Layout Manager. Mais ce composant-là, vous n'aurez pas à le gérer vous-même. C'est celui qui va permetter de placer les cellules graphiquement, dans la position qu'on veut. Puisque nous, on crée un certain nombre de cellules vers l'Adapter, mais on les place pas à l'écran, c'est le boulot du RecyclerView, qui travaille de pair avec un Layout Manager. Layout Manager, vous n'avez pas besoin de le coder, il en existe trois tout prêts. Un, celui que vous voyez par exemple, c'est le LinearLayout Manager, qui les aligne de façon linéaire. Il en existe un pour faire une grille par exemple, pour avoir plusieurs vignettes les unes à côté des autres, avec plusieurs lignes et plusieurs colonnes. Il existe 3 principaux Layout Manager. Après vous pouvez si vous souhaitez créer vos propres Layout managers, si ces trois-là ne vous conviennent pas, mais normalement, en tout cas nous, dans le contexte de ce cours, on se contentera d'utiliser un LinearLayout Manager. Il nous suffit de le créer, il a déjà été codé pour nous. Nous allons maintenant passer à l'application.

Découvrir le développement d'applications avec Android 5

Développez des applications mobiles pour Android. Créez un projet de A à Z sous Android Studio, de l’installation du kit de développement, jusqu’à sa publication sur le Play Store.

3h17 (39 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Android Android 5
Spécial abonnés
Date de parution :17 mars 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !