Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 19
Utilisation des ressources 213
Les ressources peuvent également différer sur d’autres points :
● L’orientation de l’écran. L’écran est-il en mode portrait (vertical) ou en mode
paysage (horizontal) ? Il peut également être carré, ce qui signifie qu’il n’a donc pas
d’orientation particulière.
● La taille de l’écran. Combien a-t-il de pixels ? Vous devez en tenir compte pour accorder en conséquence la taille de vos ressources (petites ou grandes icônes, par exemple).
● Écran tactile. Si votre écran est tactile, est-il manipulable avec un stylet ou avec le
doigt ?
● Clavier. De quel clavier dispose l’utilisateur (alphanumérique, numérique, les deux) ?
Est-il toujours disponible ou est-ce une option ?
● Autres dispositifs de saisie. Le terminal a-t-il d’autres moyens de saisie, comme un
pad directionnel ou une molette ?
Pour gérer toutes ces différences, Android utilise plusieurs répertoires de ressources dont
les noms contiennent le critère concerné.
Supposons, par exemple, que vous vouliez fournir des textes anglais et français. Pour une
application non traduite, vous placeriez normalement ces chaînes dans le fichier res/
values/strings.xml. Pour pouvoir reconnaître à la fois l’anglais et le français, vous
devrez créer deux répertoires, res/values-en et res/values-fr, où les deux lettres qui
suivent le tiret représentent la langue souhaitée selon le codage ISO-639-1 1 . Les chaînes
anglaises seraient donc placées dans le fichier res/values-en/strings.xml et les françaises, dans res/values-fr/strings.xml. Android choisira alors le bon fichier en fonction
de la configuration du terminal de l’utilisateur.
Cela semble simple, n’est-ce pas ?
Les choses se compliquent lorsque vous avez besoin de plusieurs critères distincts pour
vos ressources. Supposons, par exemple, que vous vouliez développer une application à la
fois pour le G1 de T-Mobile et deux autres terminaux fictifs. L’un d’eux (le Fictif Un)
dispose d’un écran VGA généralement en mode paysage (640 _ 480), d’un clavier alphanumérique toujours ouvert, d’un pad directionnel, mais pas d’écran tactile. L’autre (le
Fictif Deux) a le même écran que le G1 (320 _ 480), un clavier numérique mais pas alphabétique, un pad directionnel mais pas d’écran tactile. Pour tirer parti de ces différences
d’écrans et d’options de saisie, vous pourriez créer des fichiers de description différents :
● pour chaque combinaison de résolution et d’orientation ;
● pour les terminaux qui ont un écran tactile et ceux qui n’en ont pas ;
● pour les terminaux qui ont des claviers alphanumériques et ceux qui n’en ont pas.
Dans ces situations, toutes sortes de règles entrent en jeu :
1. http://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1.
Livre Android.book Page 213 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 228/391

Suivant