Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
30 L’art du développement Android
Chaque fichier XML contient une arborescence d’éléments précisant le layout des widgets
et les conteneurs qui composent une View. Les attributs de ces éléments sont des propriétés
qui décrivent l’aspect d’un widget ou le comportement d’un conteneur. Un élément
Button avec un attribut android:textStyle = "bold", par exemple, signifie que le texte
apparaissant sur ce bouton sera en gras.
L’outil aapt du SDK d’Android utilise ces layouts ; il est appelé automatiquement par la
chaîne de production du projet (que ce soit via Eclipse ou par le traitement du fichier
build.xml de Ant). C’est aapt qui produit le fichier source R.java du projet, qui vous
permet d’accéder directement aux layouts et à leurs composants widgets depuis votre code
Java, comme nous le verrons bientôt.
Pourquoi utiliser des layouts XML ?
La plupart de ce qui peut être fait avec des fichiers de positionnement XML peut également être réalisé avec du code Java. Vous pourriez, par exemple, utiliser setTypeface()
pour qu’un bouton affiche son texte en gras au lieu d’utiliser une propriété dans un fichier
XML. Ces fichiers s’ajoutant à tous ceux que vous devez déjà gérer, il faut donc qu’il y ait
une bonne raison de les utiliser.
La principale est probablement le fait qu’ils permettent de créer des outils de définition des
vues : le constructeur d’interfaces graphiques d’un IDE comme Eclipse ou un assistant
dédié à la création des interfaces graphiques d’Android, comme DroidDraw 1 , par exemple.
Ces logiciels pourraient, en principe, produire du code Java au lieu d’un document XML,
mais il est bien plus simple de relire la définition d’une interface graphique afin de la
modifier lorsque cette définition est exprimée dans un format structuré comme XML au
lieu d’être codée dans un langage de programmation. En outre, séparer ces définitions
XML du code Java réduit les risques qu’une modification du code source perturbe l’application. XML est un bon compromis entre les besoins des concepteurs d’outils et ceux des
programmeurs.
En outre, l’utilisation de XML pour la définition des interfaces graphiques est devenue
monnaie courante. XAML 2 de Microsoft, Flex 3 d’Adobe et XUL 4 de Mozilla utilisent
toutes une approche équivalente de celle d’Android : placer les détails des positionnements dans un fichier XML en permettant de les manipuler à partir des codes sources (à
l’aide de JavaScript pour XUL, par exemple). De nombreux frameworks graphiques moins
connus, comme ZK 5 , utilisent également XML pour la définition de leurs vues. Bien que
1. http://droiddraw.org/.
2. http://windowssdk.msdn.microsoft.com/en-us/library/ms752059.aspx.
3. http://www.adobe.com/products/flex/.
4. http://www.mozilla.org/projects/xul/.
5. http://www.zkoss.org/.
Livre Android.book Page 30 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 45/391

Suivant