Android : L'interaction avec les appareils

Aller plus loin avec les fenêtres de dialogue

Testez gratuitement nos 1300 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Poursuivez votre travail avec un datepicker, un timepicker et un promptDialog. Puis, apprenez à exploiter les dates.
06:09

Transcription

Passons maintenant au «TimePicker », je reçois donc ici une date, je vais mettre à jour mon objet « Calendar. » Je vais donc cette fois utiliser le « TimePickerDialog » qui fonctionne un peu de la même manière, c'est-à-dire le contexte, le « CallBack », mais cette fois, ce n'est plus un « OnDateListener », mais un « OnTimeSetListener », puis il veut l'heure et les minutes, donc, je lui transmets grâce à mon objet « Calendar », je récupère les heures du jour et les minutes et enfin, le dernier argument est si je veux un affichage 12 heures ou 24 heures. On l'occurrence, nous nous faisons un affichage 24 heures, je vais donc de la même manière mettre mon curseur sur la ligne rouge, faire un « Alt + Ent », faire en sorte que « MainActivity » implémente l'interface. Je me trouve donc avec « onTimeSet » qui sera le résultat. De la même manière, je vais rajouter un « Toast » affichant le résultat obtenu, histoire de vérifier que tout fonctionne. Je vais lancer mon application mais cette fois sur « Nougat », donc sur une version ANDROID après « Lollipop », j'ai donc mon « DatePicker » qui est cette fois différent et beaucoup plus joli, je sélectionne puis j'arrive sur mon « TimePicker » où je vais pouvoir sélectionner mon heure, j'ai bien l'heure, ici, l'heure et les minutes sont bien celles affichées. Je vais pouvoir maintenant ici, compléter mon objet « Calendar » avec l'heure et la minute que j'ai reçues, et passer à l'étape suivante, à savoir créer une « PromptDialog ». La « PromptDialog » est un petit peu plus compliquée, car il y a plus de choses à régler, je vais donc cette fois-ci passer par une méthode. Pour la base, je vais donc avoir une « AlertDialog ». L' « AlertDialog » fonctionne comme un « builder », c'est-à-dire que chaque méthode retourne un pointeur vers elle-même, ce qui nous permet d'enchaîner les méthodes comme nous allons le voir dans l'exemple. Pour la base de l' « AlertDialog », nous lui transmettons notre contexte. Et à la fin, nous lui demandons de s'afficher comme pour les autres « dialog ». Je vais pouvoir lui rajouter les différents éléments. Je vais aller avoir le titre, je peux lui rajouter une icône, si on regarde ici je fais un « .set » sur le résultat de « .setTitle », c'est ce que j'ai expliqué. Le principe du « builder » est qu'on peut enchaîner les points, le retour d'une méthode et à chaque fois un pointeur vers le « builder » ce qui nous permet de rappeler une méthode directement derrière. Donc là, pour faire simple, nous n'allons pas mettre plein de choses, nous allons mettre le « PositiveButton » et le « NegativeButton ». Qu'est-ce que c'est ? Simplement, le « PositiveButton », c'es le bouton qui sera en bas à droite de notre dialog, qui correspond souvent au bouton « OK », et le bouton négatif, est le bouton de refus, donc souvent « Annuler ». Alors pour cela, nous allons ajouter un « setPositiveButton », donc « .setPositiveButton », nous donnons un texte à notre bouton, et derrière, à l'aide d'un objet anonyme, je vais créer mon « CallBack ». Alors comment faire pour créer le « CallBack », simplement, « new Ctrl + Espace », et là, il va me proposer différents « CallBack » possibles, en l'occurrence ici ça sera du « onClickListener », et voilà. Je n'ai plus qu'à compléter l'intérieur de ma méthode « onClick » qui représentera les instructions à exécuter une fois que le bouton Ajouter aura été cliqué. Dans notre cas, nous allons créer un nouvel « Evenement » à partir de notre objet « Calendar », et contenant notre description, donc je vais créer un nouvel événement, « Evenement, new Evenement », je vais lui transmettre « calendar.getTime », on va appeler la méthode « getTime » de notre objet « Calendar », notre objet « Calendar » ayant été modifié avec l'heure, le mois, les minutes dans les méthodes précédentes, je récupère donc son temps, et je vais devoir récupérer le contenu de mon « EditText », pour cela, il va falloir rajouter un « EditText » où il y aura une description. Je crée donc un « EditText » que j'appelle « input », je lui transmets un contexte, et à mon « builder », je lui rajoute cet « EditText ». Ici, je ne rajoute qu'un « EditText », si je voulais faire quelque chose de beaucoup plus compliqué avec des textes, des boutons, etc., je pourrais rajouter un layout complet, donc un « LinearLayout », voire carrément passer par un fichier XML. Cet « EditText » que j'ai appelé « input » je le récupère dans ma méthode « onClick » je récupère donc son « Text.toString » pour récupérer son contenu. Ici, comme je suis dans une méthode anonyme, il me demande à ce que l'objet « input » soit final, donc c'est ce que je vais faire, « Alt + Entrée », il me propose de le faire, il m'a donc rajouté le mot clé final à mon « EditText ». Je peux donc maintenant récupérer le contenu de mon « EditText » à l'intérieur de ma méthode « onClick ». Voilà, j'ai pu créer mon « Evenement » avec ma date choisie et mon texte. Je vais ajouter à mon « AlertDialog » un bouton négatif, c'est-à-dire un bouton où il va pouvoir annuler, donc c'est un « NegativeButton » auquel je mets Annuler en texte, et je mets « null » en «CallBack », donc lui, il interprétera qu'en gros la seule chose qu'il y a à faire, c'est fermer la « dialog ». Et enfin, j'affiche ma « dialog ». Il ne le reste plus qu'à appeler cette méthode, une fois que j'ai l'heure et histoire de pouvoir voir le résultat quelque part, je vais dans la classe «Evenement » générer une méthode « toString » qui m'affichera un rendu de mon « Evenement » . Et je n'ai plus qu'à afficher un « Toast » de mon « Evenement » Bien sûr le but ici, sera de travailler avec notre « Evenement », l'ajouter à une liste ou faire d'autres choses. Je relance. J'ajoute, on va prendre le 20 Avril à midi, Ajouter, donc ici, j'ai bien le 20 Avril à midi. Voilà, vous savez maintenant comment utiliser un « DatePicker », un « TimePicker », un « PromptDialog » et les enchaîner.

Android : L'interaction avec les appareils

Exploitez les outils mis à disposition par le kit de développement Android. Améliorez l’expérience utilisateur de vos applications​ mobiles​ avec les composants et les animations.

1h58 (23 vidéos)
Aucun commentaire n´est disponible actuellement
 

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 !