Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Java pour les développeurs Android

Interagir avec les boutons

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Mettez en place une interaction grâce aux boutons. Étudiez Auto Import et les attributs puis, assimilez la portée des variables.
07:40

Transcription

Dans cette vidéo, nous allons voir comment interagir avec un bouton, faire en sorte que lorsqu’on clique sur le bouton, nous puissions exécuter un ensemble de codes. Première étape : nous allons récupérer le bouton. Nous lui avons donné l’ « id » : « bouton ajouter ». Et de la même manière que le « TextView », nous allons le récupérer. J’ai commencé à écrire « Button », je n’ai pas sélectionné « Button », je n’ai pas appuyé sur « ENTRÉE » pour qu’il fasse l’auto-import. Comme il n’a pas fait l’auto-import, du coup, il me dit qu’il ne le connait pas. Il me dit qu’il ne connait pas le symbole. Pour corriger cette erreur, deux solutions. La première, cliquez sur « ALT-ENTRÉE » et là, il nous propose d’importer la classe « button ». Alors, si on veut éviter d’avoir à faire ça à chaque fois qu’on copie-colle du code qui contient le mot « button » et de ne pas avoir à faire des « ALT-ENTRÉE » partout, il est possible, dans les « Settings » d’« Android Studio », dans « Auto Import », de rajouter ces deux options qui permettent, comme on vient de le voir exactement, d’ajouter automatiquement les imports s’il n’y a pas d’ambigüité. Alors, pourquoi pas d’ambigüité ? Admettons qu’on ait deux classes qui aient le même nom et qui ne soient pas au même endroit, il faudra choisir laquelle des deux on veut utiliser. Donc je remontre, j’enlève mon « button », j’écris « Button » et automatiquement, il va me l’importer. Alors, c’est très pratique quand on importe du code d’internet. Donc admettons que je retrouve ce morceau de code sur un site sur Android. Je le colle et il m’a automatiquement importé le « TextView » et le « button ». Ça m’évite de faire des « ALT-ENTRÉE » partout. Donc voilà pour la petite astuce. Continuons. Alors, je vais récupérer ce fameux « button ». Donc je l’ai appelé « button ajouter », du coup l’« id » du « button ajouter ». Et je vais changer le « cast », ce n’est pas un « TextView », c’est un « button ». Maintenant, mon « bouton ajouter » a tout un ensemble de méthodes, comme la méthode « setText », comme le « TextView ». Là, ce qui nous intéresse, c’est d’intercepter ces clics. Pour cela, on va appeler la méthode « setOnClickListener » et on va lui transmettre la classe qui doit écouter ces clics. La classe qui va écouter ces clics, c’est la classe « MainActivity ». Dans ce cas-là, on va écrire le mot-clé « this » qui représente la classe courante. Pour l’enchainement qui va suivre, le détail technique viendra plus tard, quand on travaillera sur les interfaces. Là, il me met une petite erreur qui m’indique que lui, il ne connait pas « MainActivity ». Alors, comment corriger cette erreur ? Il suffit de positionner le curseur sur le petit trait rouge, de faire « ALT-ENTRÉE » et de lui dire que « MainActivity » implémente « OnClickListener ». De là, il va nous ajouter la méthode « onClick ». Qu’est-ce qu’on a fait rapidement ? En gros, on a dit au bouton de prévenir la classe « MainActivity » si on le clique dessus. Et le bouton nous a donné une méthode à implémenter automatiquement. Donc c’est la méthode « onClick » qui a paru et c’est la méthode qui sera appelée à chaque fois qu’on clique sur le bouton. Faisons un petit essai. Je lance mon application. J’affiche mes logs et je clique. Et à chaque clic, j’ai bien mon log qui apparait. Voilà pour interagir avec le bouton. Maintenant, je vais en profiter pour vous expliquer la portée des variables. Ici, si au lieu d’écrire dans la console, je vais écrire dans mon « TextView ». Je vais donc appeler mon « TextView console ». Et là, il ne me le trouve pas, il ne me le propose pas. Alors pourquoi il ne me le propose pas ? Tout simplement parce que ma variable « TextView console » n’est pas visible dans la méthode « onClick » car elle a été déclarée dans la méthode « onCreate ». Donc elle n’est valable que dans la méthode « onCreate ». C’est la portée d’une variable. Elle n’est valable qu’à l’endroit où elle a été créée. Alors, comment faire pour que ma « TextView console » soit accessible dans la méthode « onClick » ? Je pourrais très bien copier cette ligne-là, la mettre ici. Ça deviendrait vite redondant. Imaginons que j’ai une vingtaine de méthodes et que dans chaque méthode, je doive réutiliser plusieurs fois chaque composant, j’aurais plein de lignes en double. Java met à disposition des attributs qui nous permettent de faire des variables qui sont valables dans toute la classe. Je vais donc déclarer mon « TextView console » en dehors des méthodes. Ici, je veux juste faire une déclaration, je n’ai pas besoin de l’initialiser, je ne lui donne pas de valeur. Ici, j’ai déclaré une variable qui sera valable dans toute la classe. D’ailleurs, si je viens ici, maintenant il me le propose parce qu’elle est visible dans toute la classe. Par contre ici, si je laisse le « TextView console », donc « TextView tv_console », il va recréer une autre variable qui s’appellera « tv_console » également mais ça ne sera pas la même. C'est-à-dire que cette instruction-là, elle sera faite pour cette variable-là. Ici, ça sera sur cette variable-là mais celle-là, d’ailleurs on le voit, elle est considérée comme non utilisée. Il faut bien penser à enlever la déclaration du typage. Là, on peut voir que la couleur change et donc mon attribut est passé en violet, mon initialisation est passée en violet et mon utilisation est passée en violet. Et derrière, ici il va être de quelle couleur ? Violet également. Maintenant, je peux faire un « setText » de « Clic ». Alors, je lance. Là, on va voir autre chose. Je clique. J’ai bien mon clic qui apparait sauf que si je reclique, je n’en ai pas d’autres. Eh oui, ma méthode « setText » remplace le texte existant par celui qu’on lui a donné. Il existe une autre méthode qui est « append ». Il permet d’ajouter. Et là, je n’ai pas mis de retour à la ligne. Donc ils se mettent les uns derrière les autres. Avec un retour à la ligne... Alors, ce qu’on a fait pour le « TextView », nous allons faire la même chose pour le bouton. Nous allons le sortir et le mettre en tant qu’attribut. Donc une variable qui est déclarée dans une classe entière s’appelle un attribut. C’est une variable mais c’est aussi un attribut. Par contre, un attribut est une variable. Par contre, une variable n’est pas forcément un attribut. Dernier petit détail : le « savedInstantSate » ici, si je tente de le trouver, il ne le trouve pas pour la même raison qu’un paramètre n’est valable que pour la méthode où il a été créé. Voilà, vous savez maintenant comment interagir avec vos boutons. Nous avons vu la portée des variables, comment créer des attributs pour une classe entière.

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
Date de parution :24 avr. 2017

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 !