Dans le cours : Découvrir le développement d'applications avec Android 5

Comprendre les vues

Pour concevoir l'interface graphique de votre application, vous utiliserez des vues. Les vues, ce sont comme des calques empilés les uns sur les autres, qui mis tous ensembles représentent toute l'interface de votre application. Toutes les classes qui s'affichent héritent de la classe View. Directement ou indirectement. Chacune de ces vues possède un identifiant XML. Vous pouvez ne pas les mettre, ils seront générés aléatoirement, mais sinon, la plupart du temps il est recommandé d'en mettre, puisque ce sera le seul moyen que vous aurez pour trouver depuis le code de votre application, un lien vers les objets que vous aurez déclaré dans votre XML. Comme toutes les autres ressources, cet identifiant déclaré dans le XML génère automatiquement une constante, je vous ai expliqué tout ça dans la gestion des ressources, tout à l'heure. c'est le même principe ici, dès que vous ajoutez dans un de vos fichiers de layout, un identifiant de vue, ça va générer une constante que vous pouvez utiliser dans votre code. et on verra tout à l'heure à quoi ça peut nous servir pour lier, jutement, le code à l'interface graphique. Il existe de nombreuses vues prêtes à l'emploi bien sûr, qui héritent de View, vous pouvez créer les vôtres, vous pouvez créer de nouvelles classes qui héritent de view et redéfinir la méthode de dessin pour redessiner la vue que vous souhaitez. Vous pouvez aussi hériter de sous-classes existantes, et, pour les spécialiser, en fonction de votre besoin. Par exemple, parmi celles qui existent de base, on a le TextView, c'est un label, c'est à dire que ça va afficher du texte, mais qu'on ne pourra pas éditer. C'est ce qu'on a utilisé pour le hello world tout à l'heure, vous avez le ImageView qui a le même principe pour une image. Vous lui donnez une ressource type image, il est capable de l'afficher. Vous avez aussi des vues qui permettent des intéractions, comme un bouton un EditText et un champ texte, donc la personne pourra taper du texte à l'intérieur et vous pourrez vous, y accéder via votre code. Nous allons voir dans Android Studio comment faire tout ça. Alors je vais encore une fois vous montrer d'abord la façon avec la souris, pour ouvrir le fichier de layout, notre Activity Main, ce qui nous intéresse, c'est le contenu. Alors c'est dans le modèle de projet qui a été créé pour nous, il a créé deux fichiers de layout, un Activity Main avec plein de choses, et notamment, ça inclut à l'intérieur, l'autre fichier qui est plus petit. Content Main, qui nous intéresse à nous. C'est là qu'on va mettre vraiment le contenu de notre application. Pour l'instant, on va pas trop regarder cette histoire de layout puisqu'on va le voir dans un chapitre suivant, il y a beaucoup de choses à voir dessus. Là, je veux juste vous donner des exemples de vue, et qu'on voit ensemble comment ça peut marcher. Donc si je prends mon label qui est ici, mon TextView, je me rends compte qu'il n'a pas d'identifiant donc je vais en ajouter un. ID plus ID et je vais écrire, welcome label Voilà, j'ai ajouté mon ID, Je vais ouvrir maintenant mon fichier en Java Main Activity et revenir ici. Ce que je vais faire, c'est me créer une variable, j'ai pour habitude personnelle des objets graphiques de les préfixer par ui, Text View Et dans le onCreate, juste après avoir changé cette ligne, là je sais qu'il aura changé mon XML. Donc je vais pouvoir lui dire, ui welcome level est égal entre parenthèses, TextView, et là, quand vous êtes dans une activité, vous avez la possibilité d'utiliser la fonction FindByID qui va chercher dans toutes les vues de l'activité celle dont vous lui passez l'identifiant, et comme je vous expliquais, du moment qu'on a ajouté notre identifiant, ça a généré une nouvelle constante, donc c'est R.id pour identifiant, et on a welcome label qui est ici. Donc au chargement de ma vue, dès qu'il aura créé l'activité, il va aller chercher dans le fichier layout la vue qui correspond bien à l'ID que je lui ai donné, et la mettre dans une variable. ça me permettra moi, par la suite, si j'en ai besoin, d'accéder à cette variable. Pour l'instant je ne m'en sers pas, et on va voir comment on va s'en servir. Je vais justement ajouter une autre vue. un bouton, button encore une fois, ne vous préoccupez pas de ce que je suis en train de faire tout de suite. on va dire wrap content, layout below, je le veux dessous welcome label il faudrait mettre du texte aussi. Text modifier accueil on lance l'application, donc j'ai mon label qui est toujours présent, j'ai ajouté cette fois-ci ce bouton, modifier accueil on voit que ça clique, mais il ne se passe rien. Ça c'est une propriété de cette vue-là, donc on a vu la vue Text View, et maintenant, on va voir la View Button, il y a quelque chose qui s'ajoute, c'est le onClick. Donc si j'ajoute la propriété onCLick, et que je vais mettre welcome button pressed je vais prendre ce nom. Je le copie exactement, et dans mon Activity, il faut que j'ajoute une méthode qui a la signature suivante : donc welcome button pressed et qui doit recevoir en paramètre le bouton qui a généré l'action. N'oubliez surtout pas le public, ici. si vous oubliez ou que vous oubliez le View ici, ça ne marchera pas, vous aurez une exception au moment de lancer, parce qu'il trouvera pas la méthode. Il faut qu'elle ait la signature,qu'elle soit publique, qu'elle ne retourne rien, qu'elle reçoive en paramètre une vue, peu importe le nom de la variable que vous mettrez ici, et qu'elle ait exactement le même nom que vous avez mis dans le fichier de layout. Et là, ce que je vais dire, ce sera uiWelcomeLabel Comme cette vue-là est un label texte, j'ai une fonction Set Text qui me permet de changer le contenu. je vais mettre hellooo pour montrer qu'on a changé le texte. Avec un point d'exclamation, voilà, ce sera plus sympa. Je lance mon application, quand je clique, vous avez vu ? Il a changé le texte. Maintenant il y a bien marqué hello avec tous les O que j'ai mis, le point d'exclamation. Donc quand j'ai cliqué sur le bouton, ça a déclenché cette méthode qui a utilisé la variable welcome level qu'on avait chargé au lancement de l'activité pour modifier le texte qui est à l'intérieur. Et il existe plusieurs types, je vous ai montré le label et le bouton, il existe des tas de vue différentes. Et maintenant, ce qu'on va voir dans les chapitres suivants, c'est comment justement, les organiser les unes par rapport aux autres, et exploiter tous ces éléments. Vous allez petit à petit, à force de travailler sur Android, découvrir de plus en plus de vue, avec de plus en plus de fonctionnalité au fur et à mesure que vous travaillerez là-dessus.

Table des matières