Java pour les développeurs Android

Travailler avec une collection

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Créez une collection à partir d'une liste nominative d'élèves. Puis, ajoutez, supprimez des éléments de la liste et rafraîchissez le contenu.
08:10

Transcription

Dans cette vidéo, nous allons voir comment stocker dynamiquement nos élèves. Pour cela, nous allons voir la classe ArrayList. Une ArrayList est une collection qui va nous permettre de stocker les élèves dans un ordre donné. Il faut imaginer ça un peu comme une file d'attente. On va mettre le premier, puis un deuxième derrière, puis un troisième, puis un quatrième, et ainsi de suite. On va pouvoir en enlever un. Si j'enlève l'élève qui est à la position 2, celui qui était à la position 3 passe à la position 2, et ainsi de suite. Dans une ArrayList, il va y avoir plusieurs méthodes. La méthode Add, qui va nous permettre d'ajouter un élément à l'ArrayList. La méthode Get, qu'on a déjà vue pour d'autres éléments comme le TextView ou l'EditText, ici elle va fonctionner de la même manière sauf qu'on va indiquer l'élève que l'on souhaite récupérer, du moins on va indiquer sa position : si je veux le premier, le deuxième, le troisième, et ainsi de suite. Remove, il en existe deux. Celle où on lui donne l'élève qu'on veut retirer de la liste ou on lui donne l'élève et il ira chercher directement dans la liste où il est et il l'enlèvera. Size va nous permettre d'avoir la taille de la liste. Clear : on enlève tout, tout ce qu'il y a dans la liste. IsEmpty permet de savoir si la liste est vide ou non. Mettons donc ça en place. On a la déclaration des attributs, ici, on va appeler ça les composants graphiques. Maintenant on va travailler sur des objets qui vont être plutôt les données. On a dit que ça s’appelait une ArrayList. Dans une ArrayList, on va devoir lui dire qu'est-ce qu'on met dedans. Est-ce qu'on veut une liste de chiffres ? Est-ce qu'on veut une liste de chaînes de caractères ? Ainsi de suite. Pour lui indiquer quel type de collection on souhaite, c'est la syntaxe suivante. Ici, on souhaite une ArrayList de chaînes de caractères que je vais appeler « noms », avec un « s », « prénoms » avec un « s », pour dire qu'il y en a plusieurs. Là, j'ai créé deux ArrayLists : une pour les noms, une pour les prénoms. Attention aux petits détails pour les ArrayLists. Le typage de l'ArrayList, vu qu'on lui donne un type chaîne de caractères, on ne peut y mettre que des classes, c'est-à-dire que des typages qui commencent par une majuscule. On ne peut pas mettre « int », « boolean », « car », en minuscules. Pour chaque type primitif, il existe une version objet, une version avec majuscule. Par exemple, si je fais « int », il me met une erreur, il n'est pas d'accord, on ne peut pas mettre de type primitif. Mais il existe la version « Integer ». Je vous rappelle l'intérêt de mettre un « Integer » par rapport à un « int » : c'est qu'un « Integer » peut ne pas avoir de valeur, il peut être égal à nul. On verra qu'il y a d'autres éléments plus tard. Ici, on revient sur notre String. On a créé nos Strings. Une ArrayList est une classe, elle peut être égale à nul, donc notre nom, pour le moment, est égal à nul, il n'a pas de valeur. Notre ArrayList n'a pas été créée. Il va falloir la créer. Pour la créer, on va utiliser le mot-clé « new ». « new », c'est propre à une classe. On peut voir que pour le typage, on n'est pas obligé de lui répéter qu'on veut une ArrayList de String. Ici, comme on a déclaré une ArrayList de String, il est capable tout seul de savoir que c'est pour une ArrayList de String. Je vais faire exactement la même chose avec prénom. Ici, j'ai créé une file d'attente. Je n'ai, à aucun moment, créé une chaîne de caractères, ni pour les noms, ni pour les prénoms. J'ai juste la possibilité de stocker des chaînes de caractères. Maintenant l'ajout. Comment ça fonctionne ? Ici, je fais « ajouter » un nom et un prénom. Je vais dans « ajouter ». Au lieu de manipuler directement le « tv_console » qui nous donne notre affichage, on va manipuler maintenant nos données et on va ajouter une méthode qui va mettre à jour l'affichage en fonction de nos données. Cette partie-là, je la mets en commentaire. On la réutilisera au moment où on veut faire l'affichage de nos données. Là, je vais ajouter un nom et un prénom. On a vu que l'ajout c'était Add. « noms.add » et je lui passe mon nom. Même chose pour le prénom. Attention à bien différencier le « prenom » de la variable String du « prenoms » avec un « s » qui représente l'ArrayList. C'est deux variables différentes et deux typages différents. Ici, si je veux que tous mes prénoms soient différents, juste pour ne pas avoir quinze fois le même mot, je vais faire la même chose, je vais rajouter mon « i ». Voilà, j'ai stocké mes données. Maintenant, si je fais juste ça, à aucun moment je ne mets à jour la console autre que le reset initial. Je vais rajouter une méthode qui va s’appeler « rafraichirEcran », dont le seul rôle sera de prendre les données dans l'état où elles sont et de mettre à jour le TextView avec ces données. Pour parcourir une ArrayList, il y a plusieurs façons. Je vais vous en montrer deux. La boucle forEach que nous verrons dans une autre séquence, et à l'aide d'une boucle for ou d'une boucle while. Nous avons vu précédemment qu’elles étaient similaires. Notre boucle for va aller de où à où ? Du premier élément de l'ArrayList jusqu'à son dernier. Donc on va faire « noms.size ». « noms.size » correspond à la taille de l'ArrayList. Petit détail : une ArrayList commence à 0, c'est-à-dire que le premier élément est situé à la position 0. Et j'incrémente. Je vous rappelle que « i++ » fait une incrémentation de 1. Qu'est-ce qui va se passer ? Je vais avoir autant d'itérations qu'il y a de noms dans ma liste. Pour chaque itération, je vais récupérer l'élément qui correspond. Même chose pour le prénom. Ici, on part du principe que le nom et le prénom ont la même taille, dans le sens où on les a ajoutés en même temps. Je parcours bien toutes mes données et je vais récupérer. Tour à tour mon « i » vaudra « noms. get(0) », « noms. get(1) », « noms. get(2) », et ainsi de suite. Donc je vais bien récupérer tous mes noms qui sont stockés dans mes données. Maintenant, je n'ai plus qu'à afficher le résultat. Je vais passer par un String intermédiaire. Ce String, je vais le compléter au fur et à mesure. « += » pour le compléter. « nom + " " + prenom ». Et le retour à la ligne sinon ils vont tous être écrits les uns derrière les autres. Je mets tout ça dans ma « tv_console ». Ici, ça sera bien un « setText », et non un « happen », parce que le but n'est pas de cumuler, c'est que la console affiche l'état des données. Si je change mes données, le changement sur ma console va s'effectuer. Je n'ai plus qu'à faire un « rafraichirEcran » à chaque fois que je fais un changement. Quand j'en ajoute un ou quand j'en ajoute plusieurs. Nous pouvons tester. Je pars avec rien. J'en ajoute un. J'en ajoute plusieurs. On a bien les éléments qui évoluent. Voilà, nous avons terminé l'insertion et le rafraîchissement de l'écran. Dans la prochaine vidéo, nous verrons la suppression de l'écran.

Java pour les développeurs Android

Prenez en main la syntaxe et les concepts de Java pour vos développements d’applications pour Android. Abordez les variables, les chaînes de caractères, les conditions, etc.

7h01 (65 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Votre/vos formateur(s) :
Date de parution :24 avr. 2017
Durée :7h01 (65 vidéos)

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 !