Outils de développement
Le SDK Android n’est pas qu’une bibliothèque de classes Java et d’API, il contient également un certain nombre d’outils permettant de faciliter le développement des applications. Nous avons surtout évoqué le plug-in Eclipse, qui intègre le processus de développement Android dans cet IDE et nous avons également cité les plug-in équivalents des autres environnements, ainsi que les outils en ligne de commande, comme adb, qui permet de communiquer avec l’émulateur. Dans ce chapitre, nous nous intéresserons aux autres outils. Gestion hiérarchique Android est fourni avec un outil permettant de visualiser une hiérarchie, conçu pour vous aider à consulter vos layouts tels qu’ils sont vus par une activité en cours d’exécution dans un émulateur. Vous pouvez ainsi savoir l’espace qu’occupe un widget ou trouver un widget particulier. Pour utiliser cet outil, vous devez d’abord lancer l’émulateur, installer votre application, lancer l’activité et naviguer vers l’endroit que vous souhaitez examiner.La liste à gauche montre les différents émulateurs que vous avez chargés. Le nombre après le tiret devrait correspondre au nombre entre parenthèses situé dans la barre de titre de l’émulateur. Si vous cliquez sur un émulateur, la liste des fenêtres accessibles apparaît à droite, comme le montre la Figure 37.3. Vous remarquerez qu’outre l’activité ouverte apparaissent de nombreuses autres fenêtres, dont celle du lanceur (l’écran d’accueil), celle du « Keyguard » (l’écran noir « Appuyez sur Menu pour déverrouiller le téléphone » qui apparaît lorsque vous ouvrez l’émulateur pour la première fois), etc. Votre activité est identifiée par le nom du paquetage et de la classe de l’application (com.commonsware.android.files/…, ici). Les choses commencent à devenir intéressantes lorsque vous sélectionnez l’une de ces fenêtres et que vous cliquez sur le bouton « Load View Hierarchy ». Après quelques secondes, les détails apparaissent dans une fenêtre appelée « Layout View » (voir Figure 37.4). La zone principale de cette « Layout View » est occupée par une arborescence des différentes vues qui composent votre activité, en partant de la fenêtre principale du système et en descendant vers les différents widgets graphiques que verra l’utilisateur. Dans la branche inférieure droite de cet arbre, vous retrouverez les widgets LinearLayout, Button et EditText utilisés par l’application. Les autres vues sont toutes fournies par le système, y compris la barre de titre. Si vous cliquez sur l’une de ces vues, des informations supplémentaires apparaissent dans le visualisateur, comme le montre la Figure 37.5.
DDMS (Dalvik Debug Monitor Service)
L’autre outil de l’arsenal du développeur Android s’appelle DDMS (Dalvik Debug Monitor Service). C’est une sorte de « couteau suisse » qui vous permet de parcourir les fichiers journaux, de modifier la position GPS fournie par l’émulateur, de simuler la réception d’appels et de SMS et de parcourir le contenu de l’émulateur pour y placer ou en extraire des fichiers. Nous ne présenterons ici que les fonctionnalités les plus utiles. Pour utiliser DDMS, lancez le programme ddms qui se trouve dans le répertoire tools/ de votre installation du SDK. Au départ, vous ne verrez dans la partie gauche qu’une arborescence des émulateurs avec les programmes qu’ils exécutent (voir Figure 37.7). Cliquer sur un émulateur permet de parcourir le journal des événements qui apparaît dans la zone du bas et de manipuler l’émulateur via un onglet qui se trouve à droite (voir Figure 37.8).Journaux À la différence d’adb logcat, DDMS vous permet d’examiner le contenu du journal dans un tableau doté d’une barre de défilement. Il suffit de cliquer sur l’émulateur ou le terminal que vous voulez surveiller pour que le bas de la fenêtre affiche le contenu du journal. En outre, vous pouvez agir comme suit : ● Filtrer les entrées du journal selon l’un des cinq niveaux représentés par les boutons E à V dans la barre d’outils. ● Créer un filtre personnalisé pour ne voir que les entrées correspondantes. Pour ce faire, cliquez sur le bouton + et remplissez le formulaire : le nom que vous choisirez pour ce filtre sera utilisé pour nommer un autre onglet qui apparaîtra à côté du contenu du journal (voir Figure 37.9). ● Sauvegarder les entrées du journal dans un fichier texte, afin de pouvoir les réutiliser plus tard.