Appuyez sur Entrée pour voir vos résultats ou Echap pour annuler.

Anti-sèche du développement Android: l’utilisation des ressources

Les ressources constituent la base du développement Android, et il est essentiel pour le développeur de savoir bien les utiliser afin de soigner le design d’une application. Si vous ne savez pas exactement de quoi il s’agit, lisez la suite de cet article.

Les ressources, de quoi parle-t-on ?

Les ressources Android sont des fichiers qui contiennent des informations capitales pour l’application, telles que des images, des chaînes de caractères, des couleurs ou des styles. Leur utilisation représente d’incontestables avantages. Tout d’abord, le fait qu’elles peuvent être incorporées dans l’application permet aux designers de travailler en parallèle avec les des développeurs d’applications.

Cela a pour effet de réduire considérablement le temps nécessaire pour la création d’une application. Il y a aussi un autre avantage: Android est destiné à être utilisé sur un très grand nombre de supports différents, sur lesquels l’application doit s’afficher de la même manière. C’est justement l’un des rôles des ressources.

développement Android

Ajouter une ressource dans une application est très facile. En fait, à la création d’un nouveau projet, Android Studio créera automatiquement des répertoires R, et à chaque fois que vous ajouterez une ressource, il lui sera assigné un identifiant id. Ces ressources se trouvent dans le dossier Projet/res.

Voici quelques exemples plus précis de l’utilisation de ressources dans le développement Android :

  • Elles peuvent être utilisées pour afficher une application en plusieurs langues. Il est en effet possible d’adapter la langue en fonction du système d’exploitation de l’utilisateur.
  • Elles permettent également de changer l’orientation de l’écran (mode portrait ou mode paysage).
  • Les ressources permettent d’adapter l’application aux différentes tailles et types d’écrans (smartphone, phablette ou tablette).

Types de ressources pour le développement Android

Nous vous recommandons de consulter le blog Android Developers afin de trouver toutes les informations détaillées sur les types de ressources que vous pouvez utiliser dans le développement Android.

Pour résumer, nous vous en proposons la classification suivante :

1. Les ressources utilisées pour définir des animations par défaut.

Elles sont enregistrées dans le dossier res/drawable avec l’identifiant drawable. Sont pris en charge les formats .png, .jpg ou .gif, .png en format Nine-patch (.9.png) et le XML avec des descripteurs graphiques.

Elles peuvent aussi se trouver dans res/animator avec l’identifiant anim, par exemple pour les fichiers XML qui modifient les propriétés d’un objet au fil du temps.

2. La ressource ColorStateList permet de préciser plusieurs couleurs correspondant à différentes situations. Il est, par exemple, possible d’utiliser une couleur de texte lorsqu’un élément est sélectionné et une autre lorsqu’il ne l’est pas. Elle se trouve dans le dossier res/color sous l’identifiant color.

3. Les ressources Drawable sont utilisées pour définir les images matricielles (les images de type PNG, JPEG ou encore GIF) ainsi que des fichiers XML qui permettent de décrire des images vectorielles (qui ne se dégradent pas quand on les agrandit). Elles sont enregistrées dans le dossier res /drawable avec l’identifiant drawable.

4. La ressource Mise en page sert à définir les interfaces d’une application. Il s’agit des fichiers XML qui sont enregistrés par défaut dans res /layout avec le id layout.

5. Les ressources Menu permettent de définir des menus de l’application. Vous les trouverez dans res/menu sous l’identifiant menu.

6. Les ressources Chaînes de caractères sont des fichiers XML avec des données sur les chaînes de caractères et les tableaux de chaînes. Celles-ci incluent : strings.xml, colors.xml, dimens.xml, styles.xml ou arrays.xml. Ces ressources sont enregistrées dans res/values, sous les identifiants string, R.array et R.plurals.

7. Les ressources Style servent à définir un certain nombre d’attributs importants pour le style et le design. Elles se trouvent dans res/values avec l’identifiant style.

8. D’autres types de ressources régissent les booléens, les dimensions, les couleurs, etc. Elles sont enregistrés dans res/values et accessibles à partir de sous-répertoires R correspondants (comme R.bool, R.integer, R.dimen, etc.).

Et les ressources alternatives?

Les ressources pour le développement Android peuvent s’adapter à l’environnement de l’utilisateur. En fait, le répertoire « Ressources » se structure en sous-répertoires tels que ceux listés ci-dessus mais chaque sous-répertoire peut se trouver décliné à son tour en plusieurs branches qui vont permettre de les discriminer en fonction de leur rôle. Il s’agit des ressources alternatives.

Comment fonctionnent-elles ? Merci à Google d’avoir compilé une liste des qualifications qui standardise les configurations possibles pour les appareils Android. Il s’agit d’un mécanisme grammatical de la version Android 4.3 (API 21) qui permet de spécifier l’objet d’une ressource, c’est-à-dire, de modifier sa fonction principale. Les principales décisions concernent la localisation de l’application, la densité de l’écran, la taille de l’écran, et son orientation.

Les qualificateurs sont alors utilisés en prenant le nom du répertoire de base et en y ajoutant un slash suivi d’un code spécifique. Pour les ressources de type “values”, par exemple, afin de créer une localisation en allemand, il faut placer le fichier de ressource dans “Resources/values-de”. Ici, c’est le code pays qui est utilisé comme qualificateur.

L’un des défis les plus importants pour le développeur et le designer est de s’adapter au foisonnement de formats disponibles (taille et résolution d’écran). La majorité des utilisateurs ont un écran de taille normale, mais il en existe une grande variété. De plus, il existe de nombreuses résolutions, de “ldpi”, basse densité, à xxhdpi, la super haute densité de type rétina. Ci-dessous, nous vous proposons quelques qualificateurs :

PAR TAILLE

  • small pour les écrans de petite taille
  • normal pour les écrans standards
  • large pour les grands écrans, comme dans les tablettes tactiles
  • xlarge pour les très grands écrans comme ceux de téléviseurs

PAR DENSITÉ

  • Idpi pour une faible densité
  • mdpi pour une densité moyenne
  • hdpi pour une haute densité
  • nodpi utilisée pour des ressources ne devant pas être mises à l’échelle quelle que soit la densité d’écran

PAR RATIO D’ASPECT DE L’ECRAN

Il est également possible de filtrer les ressources en fonction du ratio de l’écran plutôt qu’en fonction de sa taille. Cela est couvert par l’API 4 (Android 1.6) et le qualificateur prend les valeurs “long” et “notlong”.

PAR ORIENTATION

Beaucoup plus utilisés, les qualificateurs “land” (landscape, paysage) et “port” (portrait) permettent de définir des ressources en fonction de l’orientation de la machine.

PAR VERSION DE LA PLATEFORME

Enfin, il est possible de filtrer les ressources en fonction de la version de la plateforme : par exemple “v11” pour l’API de niveau 11 (Android 3.0).

Maintenant, vous savez pourquoi et comment sont utilisées les ressources. N’hésitez pas à lire nos autres articles sur le développement Android, à les partager sur les réseaux sociaux et à nous faire part de vos impressions dans la section « commentaires ». A bientôt !

Création d'application mobile - comment protéger son idée

Commentaires

Les commentaires ont été désactivés pour cet article