Découvrir Android Studio 2

Déboguer et lire les logs

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Faites le tour des possibilités offertes par le débogueur intégré à Android Studio. Il s'agit notamment des points d'arrêt conditionnels ou du calcul d'expressions en temps réel.
06:34

Transcription

Le déboguer intégré Android Studio est relativement standard, mais ce qu'il peut faire, il y a plusieurs fonctions avancées comme on va voir. Je souhaite déjà vous montrer comment utiliser débogueur. C'est très simple, il suffit dans la colonne [ inaudible ] de marquer les points d'arrêt que vous souhaitez. Si, par exemple, je mets un point d'arrêt ici, quand je vais lancer mon application en mode débug, dès qu'il atteindra à cette ligne il s'arrêtera. Alors, prenant ça en mode debug, je vous rappelle de deux possibilités : soit vous lançant normalement et une fois qu'elle est lancée vous pouvez attacher débugger, c'est si vous voulez. Mais aller jusqu'une certaine fenêtre, en même temps sûr qu'il n'y a aucun point d'arrêt, qu'il d’éclanche pour rien, et quand vous êtes prêts, vous pouvez attacher débugger ou, si vous avez déjà lancé l'application et que vous avez besoin [ inobliged ] débogger [ inobliged ] vous pouvez l'attacher à [ inobliged ]. Sinon, vous pouvez dès le début lancer en mode débug. Donc, ces deux boutons [ inobliged ] celle qui est à coté des boutons play, et le raccourci, c'est Ctrl D pour lancer. Il me demande sur quel appareil, il veut choisir mon téléphone. [ inobliged ] voir ce qui se passe à l’écran, c'est juste pour [ inobliged ] débugger, OK. Donc, il installe d’application et il va afficher le débugger automatiquement, dès qu'il va atteindre cette ligne de code. Voilà, le point d'arrêt a été calanché, voyez la petite flèche qui [ inogliged ] dessus. Alors, ce qui est déjà pas mal, c'est qu'il va automatiquement dans le code même, dans la contexte autour de lui. Vous affichez en direct, des commentaires ne sont pas des commentaires, c'est le bébugger qui ajoute et alors des différentes variables qu'il voit. Par exemple, la variable « saved Instance State » est nul, donc on le voit, il est nul etc. Par contre Toolbar est affecté qu'un objet qui est le type « Android support V7 widget toolbar » [ inobliged ] un petit peu long. Ça donne déjà une [ inobliged ] dédiée, on voit le contact qui a été créé, qui utilise le « toString » qui est [ inobliged ] pour [ inobliged ] marque mineur. Voyez donc, on arrive ici et on va exécuter cette ligne. Bon, là c'est assez standard, ce qu'on a : on a [ inobliged ] un explorateur de variables qui est dit au contexte dans lequel on est, on a l'applique d'appelle qui est présente ici, qui me permet de voir comment est [ inobliged ] cette méthode, c'est que des méthodes du système, ce que [ inobliged ] onCreate. On a les boutons habituels qui permettent d'avancer ligne par ligne, rentrer dans une fonction, forcer [ inobliged ] on peut dans des cas particuliers on peut [ inobliged ] vous n'aurez pas besoin de ça. Step Out qui va vous permettre [ inobliged ] une fonction si [ inobliged ] vous n'aurez pas du rentrer, vous ne voulez pas, jusqu'à la fin à fonction, vous sortez de la fonction et directement revenez dans la plante. Et moins qui [ inobliged ] beaucoup, c'est Run to Cursor, c'est assez rare d'avoir ça [ inobliged ], par exemple, je suis ici je me rend compte que tous [ inobliged ] [ inobliged ] de la ligne par ligne. J'ai envie d'aller jusqu'ici pour tester le « if » . J'ai mon curseur sur le « if » et je vais dire un Run to Cursor. C'est comme si je mettait un nouveau point d'arrêt que je [ inobliged ] [ inobliged ] ça fait gagner pas mal de temps. Vous avez un plus les [ inobliged ] , donc ça vous permet de faire des expressions. Donc, je fais un plus et on va dire : « Contact.getFirstname » , entrée. Et on voit que c'est [ inobliged ]. En fait en permanence quand je vais avancer [ inobliged ] à modifier cette valeur, à modifier le prénom de mon contact, ça sera changé automatiquement ici je ne vais pas mettre plusieurs. On a même la possibilité d'avoir une petite fenêtre d'évaluation pour évaluer n'importe quelle expression en tant réelle. Donc, là on a fait getFirtsname, je peux en essayer une autre : getLastname. Quand je clique sur Évaluer, voilà : Cooper [ inobliged ] [ inobliged ] plutôt pratique pour évaluer des valeurs qui ne sont pas forcément, dans des variables, sans avoir [ inobliged ] que pour [ inobliged ] . En plus de ça, vous avez forcément, des options sur le point d'arrêt lui-même. On va faire clique droit dessus et déjà en faisant clique droit sur ce [ inobliged ] des options en plus. Je peux désactiver le point d'arrêt, je peux le suspendre ou le lier uniquement certains Thread, et je peux lui dire une condition. Par exemple, je vais dire que je veux qu'il déclenche uniquement, c'est le contact [ inobliged ] . On va faire donne. On va arrêter et relancer notre application. Et là on voit qu'il ne s'est pas arrêté. Là l'application se lance au téléphone. [ inobliged ] s'arrête sur mon point d'arrêt. Si par contre, je change mon code et je dis : contact est égale à nul juste avant d'arrêt ici. Alors relancer. Voilà, cette fois ci, le point d'arrêt s'est arrêté ici parce que contact est nul, parce que le point d'arrêt respecte à condition et donc, il déclenche. Forcément, si je continue ici, puisque contact est nul et l'application va rencontrer exception et se planter. Si je fais continuer, voilà le programme s'arrête, alors un des inconvénients [ inobliged ] car c'est une exception [ inobliged ] c'est [ inobliged ] . Qu'est-ce qu'il vient de se passer ? On n'a pas de message d'erreur. Pour comprendre ce qui s'est passé, il faut être dans le moniteur androïde et voir le log de l'appareil. [ inobliged ] rouge, je vais l'agrandir un petit peu. Voilà, s'il y a trop de choses, vous pouvez dire que vous ne voulez que des erreurs [ inobliged ], voyez en tant des log vous avez tous les log pour notre application projet 2. En mettant erreur je ne vois que les [ inobliged ] qui m'intéressent [ inobliged ] c'est une erreur. Là on voit que l'application c'est arrêtée à cause d'une NulPoinerException dans le onCreate à la ligne 35, si je clique ici, il va automatiquement mettre cursor sur la ligne qui correspond d'un fichier. Alors, par défaut les numéros de linges ne sont pas affichées, vous pouvez les afficher si vous voulez les voir, en faisant clique droit dans la marge [ inobliged ] afficher le numéro de ligne. [ inobliged ] plus permanent dans le [ inobliged ] Adroid Studio pour activer un java le numéros de ligne. Voilà, avant tout c'est assez intéressant, on peu aller plus loin, même si [ inobliged ] en certains cas. Voilà, on a déjà fait pas mal de choses, j'enlève cette condition et je vais cliquer sur More pour montrer d'autres possibilités sur le Breakpoints, ça, c'est des [ inobliged ] premières qu'on avait déjà vues. Ca peut être intéressant : loguer un message dans la console. Ça évite de mettre un code de log directement, dans le code Java. C'est uniquement le point d'arrêt lorsqu'il dit qui est [ inobliged ] Vous avez plusieurs possibilités, par exemple, on ne peut pas les voir, mais pour être sûr qu'il déclenche qu'une seule fois un point d'arrêt une fois qu’il efface point d'arrêt il va automatiquement, le retirer pour la fois suivante. Vous pouvez dire que vous voulez qu'il déclenche à partir du 3eme passage. S'il passe 5 fois sur le point d'arrêt et vous avez eu 3, [ inobliged ] ne va pas s'arrêter et en repassant le 4eme il s'arrêtera. Voilà, donc, il y a plusieurs possibilités. C'est vraiment quelque chose où tout dépend des cas que vous aurez, c'est [ inobliged ], mais sachez ça existe si vous en avez besoin. Je peux annuler ça [ inobliged ] comme une application plante commune pour la suite.

Découvrir Android Studio 2

Développez vos applications mobiles Android avec Android Studio. Apprenez les bases essentielles telles que l'interface utilisateur, les émulateurs, l’inspection du code, etc.

2h25 (34 vidéos)
Aucun commentaire n´est disponible actuellement
Spécial abonnés
Date de parution :30 juin 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 !