Programmation XML 1. Pr o g r a m m a t i o n X M L Programmation sous Android Dé v e l o pp e z u n e a p p li c at i o n A n d r o id Sous Android, les objets permettant l’interaction avec l’utilisateur s'appellent des widgets et, dans la quasi-totalité des cas, ils ont une représentation graphique. On y trouve les objets traditionnels de la bibliothèque SWING (Layout, boutons...) auxquels se rajoutent des widgets spécifiques Android comme les DatePicker qui permettent de sélectionner une date ou l'objet Gallery qui affiche une galerie de photos. L'interface utilisateur (User Interface ou UI) d'une application Android est gérée par des ressources, chacune caractérisant un widget en définissant l'ensemble de ses propriétés comme la taille, la couleur, la localisation… 1.1 Programmation Java traditionnelle En Java, pour créer une interface utilisateur, on définit directement dans le code les différents éléments graphiques dont on a besoin. Cette approche est traditionnelle dans la mesure où il n'existe quasiment pas d'éditeurs interactifs d'UI ou que ceux-ci sont assez peu utilisés. À titre d'exemple, nous allons réaliser un programme Android sur cette méthodologie. f Dans Eclipse, sélectionnez Files - New - Android Project. f Dans le champ Project name de la fenêtre qui s'ouvre, appelez le programme ProgClassique. f Sélectionnez un API Level compatible avec le téléphone. f Remplissez le champ Application name avec ProgClassique, le champ Package name avec com.progclassique, le champ Create Activity avec ProgClassique et le champ Min SDK Version avec le même API Level que celui choisi pour le téléphone. f Pour finir, cliquez sur Finish pour créer l'arborescence de base du programme. © Editions ENI - Toute reproduction interdite 59 Développez une application Android - Programmation en Java sous Eclipse 60 © Editions ENI - Toute reproduction interdite Programmation XML Dans l'onglet Navigator d'Eclipse : f Cliquez sur ProgClassique pour déployer l'arborescence du programme. f Cliquez sur src. f Cliquez sur com.progclassique. f Double cliquez sur ProgClassique.java pour ouvrir le fichier ProgClassique.java et voir apparaître le code. o package com.progclassique; import android.app.Activity; import android.os.Bundle; public class ProgClassique extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 1.1.1 Codage de l'application ProgClassique Toute application Android ayant un UI comprend un Layout de base. Après la ligne : o Super.onCreate(Bundle savedInstanceState); f Insérez la ligne de création du Layout : o LinearLayout layout = new LinearLayout(this); © Editions ENI - Toute reproduction interdite 61 Développez une application Android - Programmation en Java sous Eclipse f Cliquez sur le symbole ampoule avec une croix rouge : f Sélectionnez Import 'LinearLayout' (android.widget) pour importer le package du Layout. Dans un téléphone, l'écran peut être en mode vertical (qui correspond au mode portrait) ou en mode horizontal (qui correspond au mode landscape). f Pour obtenir un affichage en mode portrait, rajoutez la ligne de code : o layout.setOrientation(LinearLayout.VERTICAL); Nous allons maintenant ajouter un champ texte en utilisant le widget TextView. f Pour ce faire, ajoutez la ligne de code suivante : o TextView textView = new TextView(this); f Importez le package associé comme pour le Layout. Pour afficher le texte Programmation déclarative, il faut utiliser la méthode setText du widget TextView. o textView.setText("Programmation déclarative"); 62 © Editions ENI - Toute reproduction interdite Programmation XML Enfin, il faut associer le TextView au Layout : o layout.addView(textView); Dans une application Android, les ressources sont affichées par la méthode setContentView() qui prend ici comme paramètre le Layout à afficher. o setContentView(layout); Le code complet devient : o package com.progclassique; import import import import android.app.Activity; android.os.Bundle; android.widget.LinearLayout; android.widget.TextView; public class ProgClassique extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); TextView textView = new TextView(this); textView.setText("Programmation déclarative"); layout.addView(textView); setContentView(layout); } } © Editions ENI - Toute reproduction interdite 63 Développez une application Android - Programmation en Java sous Eclipse 1.1.2 Lancement de l'application ProgClassique Pour lancer et installer l'application sur le téléphone, il faut cliquer sur dans la barre d'outils d'Eclipse. Au premier lancement d'une application Android, une fenêtre s'ouvre : f Choisissez Android Application pour lancer le programme en tant qu'application Android sur le téléphone. 64 © Editions ENI - Toute reproduction interdite