Décrit, à partir d’un programme simple, les bases de la programmation pour Android
Pour les développeurs Java, Android est une aubaine puisqu’ils n’auront pas à apprendre un nouveau langage. Pour autant, il y a un certain nombre de spécificités à connaître propre au développement d’applications pour mobiles en général et pour Android en particulier. Google fournit également un outil gratuit très puissant qui se nomme Android Studio. Pour commencer en douceur, nous allons voir quelques caractéristiques sur l’architecture d’un projet et quelques notions comme la classe Activity et la gestion d’une interface, notions que l’on retrouvera quelque soit l’application.
Comme un projet d’application Android peut contenir un nombre important de fichiers et que cela pourrait être rébarbatif de tous les décrire, nous allons réaliser d’abord une première application Hello World et nous présenterons les principaux fichiers générés par l’EDI qu’il est indispensable ce connaître pour commencer à programmer pour Android en Java. Nous verrons également ce qu’est une Activity, un Layout et comment utiliser des fichiers de ressources.
La couche logicielle et matérielle utilisée pour cet article est :
Lancez Android Studio. Si vous n’avez pas de projet en cours, vous devriez vous retrouver avec l’écran suivant :
Sélectionnez la première option du menu Start a new Android Studio project se trouvant dans la liste de droite. Cela va lancer un assistant composé de plusieurs écrans nous permettant de définir les principales caractéristiques de notre application.
Le premier écran permet de définir le nom de l’application.
Comme il s’agit d’un premier programme, je l’ai nommé HelloWorld selon la tradition.
Le second champ est le nom de domaine de votre société. Cette information est importante car elle permettra de définir l’identifiant de votre application. Ce nom étant unique, il permettra de différencier votre application d’une autre s’appelant également HelloWorld sur le Play Store de Google par exemple.
Le troisième champ est le dossier de votre disque dur dans lequel vous désirez sauvegarder votre projet.
Le quatrième champ est le nom du package java composé de votre domaine et du nom du programme, formalisme habituel pour une application Java.
Les deux derniers choix ne doivent pas être cochés car nous avons choisi de réaliser un programme en Java.
Cliquez sur Next. L’écran suivant va nous permettre de préciser le type d’appareil et la version minimale de l’OS Android supportée.
Dans un premier temps, nous pouvons laisser les options par défaut. Les types de périphériques cibles seront les téléphones et tablettes et notre application pourra être exécutée sur des appareils équipés d’une version d’Android 4.3 ou supérieure. L’écran nous indique que cela correspondra actuellement à plus de 95% des appareils. Il est possible d’avoir plus d’informations sur les différentes version en cliquant sur Help me choose.
Cliquez sur Next pour afficher l’écran pour sélectionner un squelette de projet.
Comme on le verra par la suite, une application Android sera composée d’au moins une classe Java de type Activity. Android Studio nous propose plusieur choix de squelettes en fonction du type d’application à réaliser. Pour une première application, le mieux est de sélectionner Empty Activity
Cliquez sur Next pour passer à l’écran suivant :
Cet écran permet simplement de définir le nom de la classe Activity qui sera générée ainsi que son layout correspondant. Le layout correspond à la définition de l’interface correspondant à l’activité, c’est à dire ce qui s’affichera à l’écran. Il est conseillé de garder les noms proposés pour nous permettre de nous y retrouver.
Cliquez sur finish pour générer le squelette du projet. Vous devriez vous retrouver avec l’écran suivant :
L’écran est décomposé en 3 zone principales. La zone centrale affiche le code. Celle du bas affiche un certain nombre d’informations en fonction de l’onglet sélectionné. Cette zone, entre autre, nous permettra de suivre l’évolution de la compilation du programme et de vérifier qu’il n’y a pas eues d’erreurs. La vue de gauche va nous permettre de voir l’arborescence des fichiers composant le projet. Par défaut, c’est le mode Android qui doit être affiché. Cette vue affiche l’arborescence selon la logique d’un projet Android, cette dernière ne correspondant pas exactement à celle des répertoires se trouvant sur votre disque dur. C’est celle que nous allons voir pour l’instant. Pour notre projet HelloWorld, j’ai déroulé quelques dossiers pour nous permettre de voir les fichiers principaux.
Le projet est composé de 2 dossiers principaux : app et GradleScripts. Pour l’instant, vous n’avez pas besoin de connaître le contenu du second dossier. Ce sont des fichiers de configuration de gestion de votre projet et de construction du programme. Il sont utilisé par le programme de gestion de projets Gradle.
Nous allons donc voir maintenant les principaux dossiers et fichiers de app.
Le fichier AndroidManisfest.xml
Ce fichier se trouve dans le dossier manifests. Double-cliquez sur le nom pour l’afficher dans la vue centrale de l’éditeur.
Ce fichier a un peu le même rôle que le fichier manifest d’un programme Java classique mais adapté à Android. Ce fichier définit entre autre, l’icône de l’application, son titre et référence une activité nommée MainActivity qui correspond à la classe générée automatiquement par le studio et que nous allons bientôt voir.
Dans la section de définition de l’activité, se trouve une autre section très importante nommée :
<ident-filter>
.
Cette dernière contient pour l’instant les 2 lignes suivantes :
<action android:name="android.intent.action.MAIN" />
Cette ligne indique que l’activité, correspond au point d’entrée de l’application.
<category android:name="android.intent.category.LAUNCHER" />
Cette ligne indique que le composant peut être lancé par l’utilisateur.
La définition des 2 lignes précédente fera que l’application sera ajoutée à la liste des autres applications disponibles dans la grille des icônes de l’appareil.
Dans un premier temps, il n’est pas indispensable de connaître toutes les options de ce fichier. Nous y reviendrons donc plus tard.
Le fichier MainActivity
Ce fichier se trouve dans le package de l’application qui se trouve lui-même dans le dossier java. C’est dans ce dossier que se trouvera l’ensemble de votre code java.
Ce fichier qui contient le code de la classe MainActivity a été généré automatiquement par l’assistant de création du projet. Nous voyons que cette classe hérite d’une classe AppCompatActivity qui implémente certaines fonctionnalités. Cette classe hérite notamment d’une méthode onCreate() qui a été surchargée. Le code contenu dans cette méthode sera exécutée lors de la création de l’application. Pour l’instant, il contient deux lignes. La première ne fait qu’appeler le constructeur parent en lui passant le paramètre Bundle (non utilisé dans cet exemple), et la seconde, définit le layout lié à l’activité. Ce layout est en fait l’IHM qui sera affichée et qui est défini dans un fichier xml se trouvant dans le dossier res qui contient les ressources de l’application que nous allons voir maintenant.
Les ressources de l’application
Le dossier res contient l’ensemble des ressources de l’application comme les layouts (IHM), des icônes et des images, des chaînes de caractères etc…
Le fichier activity_main.xml
Ce fichier au format xml est le fichier définissant l’IHM reliée à la classe MainActivity vue précédemment. Il se trouve dans le dossier res/layout.
Double-cliquez sur son nom pour l’afficher dans la vue principale. Vous pourrez choisir entre deux types d’affichage principaux grâce aux 2 onglets Design et Text se trouvant en bas de la vue. Cela permet de définir l’interface soit directement dans le code XML soit de manière interactive à la souris. Lorsque vous travaillez dans un mode, l’autre vue se met automatiquement à jour.
Maintenant que notre application a été créée il est temps de la compiler et de l’exécuter. Pour cela, il suffit de cliquer sur l’icône suivante se trouvant dans la barre d’outil :
Vous devriez avoir une fenêtre vous permettant de sélectionner le périphérique cible d’exécution
Sélectionner le périphérique et cliquez sur Ok.
Au bout de quelques instant l’application doit apparaître soit sur votre périphérique physique soit dans une fenêtre d’affichage du périphérique virtuel.
Avant de revenir sur l’interface, nous allons voir comment modifier le titre de l’application. Retournons dans le fichier Manifest. Ce dernier contient la ligne suivante :
android:label="@string/app_name"
En fait le titre n’est pas directement définit à cet endroit mais dans un fichier ressources de strings et portant app_name comme nom. Ce fichier se trouve dans le dossier res/values/strings.xml.
Soit vous ouvrez ce fichier à partir de la vue de gauche soit vous positionnez le curseur sur la chaîne app_name depuis le manifest et faite CTRL+CLICK_GAUCHE pour ouvrir directement le fichier ressource correspondant.
Nous avons bien une chaîne nommée app_name. Il suffit de la modifier en entrant par exemple "Bonjour à tous" pour modifier notre titre.
Si vous affichez à nouveau l’IHM à partir du fichier Layout vous devriez voir le titre modifié.
Dans notre application, Android Studio a ajouté un composant qui affiche au centre de l’écran le message "Hello World !". Nous pourrions avoir envie de changer le message par "C’est ma première application" par exemple.
Ce message s’affiche grâce à un composant nommé TextView. Nous pouvons voir sa définition dans le fichier activity_main.xml. En mode Text cela correspond à la balise suivante :
Le message à afficher correspond au paramètre
android:text="Hello World!"
Pour modifier ce libellé Android Studio nous propose plusieurs solutions :
Modifier directement dans le fichier Layout
Une première solution est de remplacer le texte entre guillemet par le nôtre directement dans l’éditeur.
Une autre solution est de passer en mode Design, de sélectionner le composant en cliquant dessus puis de modifier le champ text dans l’inspecteur de propriétés du TextView se trouvant dans le volet à droite.
Modifier le libellé à partir d’une ressource
Maintenant nous allons voir comment modifier le texte en faisant référence à une ressource.
Pour cela, au lieu de modifier directement le champ text, nous allons cliquer sur … à droite du champ. Une fenêtre listant les ressources existantes s’affiche.
Nous allons ajouter une ressource en cliquant sur le bouton Add new resource. Je lui donne un nom et une valeur et je clique sur Ok pour valider. Nous laissons les autres options par défaut pour que la ressource s’enregistre dans le fichier strings.xml par défaut.
Normalement, le texte se met à jour dans l’interface. Nous pouvons également voir la modification dans le code xml du fichier layout.
android:text="@string/msg_accueil"
Nous retrouvons la même syntaxe de référence à une ressource de string que pour le titre de l’application vue précédemment.
Nous venons de voir comment créer une application et l’exécuter. Celle-ci ne fait rien à part afficher un message à l’écran mais nous avons pu utiliser une classe Activity et voir comment l’on définit un layout et d’autres ressources, des objets que vous utiliserez dans toutes (pratiquement) applications pour Android et que nous approfondirons dans un autre article.
Voir en ligne : Référence documentaire officielle (en anglais)
2003-2024 LePpf
Plan du site
| Se connecter |
RSS 2.0 |
Sur YouTube
Visiteurs connectés : 1
Nombre moyen de visites quotidiennes sur le site: 197