IID Programmation mobile sous Android 2023/2024
PROGRAMMATION ANDROID SOUS ANDROID
CHAPITRE 1 :
Introduction et prise en main du l’Android
Studio
1. Introduction
2. Installation et configuration des outils
3. Création d’un premier projet et d’une application
4. Structure d’un projet dans l’Android Studio
5. Exécution de l’application
1. Introduction
À l’époque, « Android » était développé par une PME américaine, Android Incorporated,
créée en 2003. En 2005 elle est rachetée par Google. Le but d'Android, était de développer
un système d'exploitation mobile plus intelligent basé sur le noyau Linux, et qui permet non
seulement d’envoyer des SMS et transmettre des appels, pourtant de faciliter l’interaction
de l'utilisateur avec son environnement (surtout avec son emplacement géographique ; c.-à-
d. la géolocalisation). Ses principaux concurrents iOS d’Apple et Windows phone.
Les avantages d'Android
Le contrat de licence pour Android respecte les principes de l'open source,
Open source c'est-à-dire qu’on peut télécharger les sources et les modifier,
Android est gratuit, autant pour l’utilisateur que pour les constructeurs. Si
Gratuité (ou on veut poster et publier nos applications sur le Play Store,
presque)
Plusieurs API sont disponibles et qui facilitent et accélèrent le
Facilité de
développement développement. Ces APIs sont très complètes et très faciles d'accès. Par
exemple, on peut utiliser Google Maps API pour afficher la carte de
Tanger.
Le système Android est portable, il s'adapte à beaucoup de structures
Flexibilité
différentes. On le trouve dans les smartphones, les tablettes, les montres,
les voitures et des fours à micro-ondes. D’ailleurs, il est construit de
manière à faciliter le développement et la distribution en fonction des
composants disponible dans l’appareil.
N.B. Il faut noter qu’une bonne compréhension des notions de base du langage Java est
nécessaire pour développer sur Android.
Architecture du système Android
Android est basé sur le noyau Linux, il est conçu pour des appareils mobiles. Il offre d’autres
possibilités d’utilisation sur les tablettes, les voitures, wear, des baladeurs…
La figure ci-dessous montre les différentes couches du système Android qui sont:
1. un noyau Linux qui lui confère particulièrement des caractéristiques multitâches ;
2. des bibliothèques graphiques, multimédias ;
3. une machine virtuelle Java adaptée : la Dalvik Virtual Machine ;
4. un framework applicatif proposant des fonctionnalités de gestion de fenêtres, de
téléphonie, de gestion de contenu... ;
5. des applications dont un navigateur web, une gestion des contacts, un calendrier…
2 3
Figure 1 Composants du système Android
Composants d'une application Android
Dans les applications Android, on trouve les composants logiciels suivants:
► activités : représentent des interfaces visuelles d'une application Android. Elles utilisent
des vues et des fragments pour créer l'interface utilisateur et pour interagir avec celui-ci.
Une application Android peut avoir plusieurs activités.
► services : est un composant qui fonctionne en tâche de fond, de manière invisible. Ils
peuvent communiquer avec d'autres composants Android, par exemple, par
l'intermédiaire de récepteurs de diffusion et envoyer des notifications à l'utilisateur par
l'intermédiaire des notifications.
► fournisseurs de contenu : (content provider en anglais) définissent une interface
structurée de données d'application. Ils peuvent être utilisés pour accéder aux données à
l'intérieur d'une application, et aussi ils peuvent être utilisés pour l’échange des données
avec d'autres applications.
► objets Intent : il permet de diffuser des messages en demandant la réalisation d’une
action.
► Notifications : pour signaler une information à l’utilisateur sans interrompre
ses actions en cours.
2. Installation et configuration des outils
Avant d’entrer dans les détails concernant la programmation, il faut installer tous les
programmes et composants nécessaires (le JDK ou JRE). On peut utiliser un appareil sous
Android, nous allons voir comment le configurer de façon à pouvoir travailler directement
avec-il.
a. Besoin matériels :
2 Go de mémoire RAM, mais en dessous de 8 Go il y a un risque d'être limité.
Plus de 1,5 Go de mémoire disque pour tout installer.
Niveau processeur, l'émulation ne peut se faire que sur 1 core de votre
processeur. donc augmenter le nombre de cores ne vous servira pas à grande
chose. C'est vraiment la puissance pure qui compte. Il n'y a donc pas de minima
mais le plus rapide sera le mieux.
D’ailleurs, pour Windows et Mac OS il est préférable d'avoir un processeur Intel® qui
supporte Intel® VT-x, Intel® EM64T (Intel® 64), et le Execute Disable (XD) Bit, ça vous
permettra d'accélérer fortement l'émulation.
b. Java Development Kit (JDK)
Avant de commencer de programmer sous Android, Il faut télécharger le JDK. Normalement,
Il existe deux plateformes en Java :
► Le JRE (Java Runtime Environment), qui contient la JVM (Java Virtual Machine ,
rappelez-vous, j'ai expliqué le concept de machine virtuelle dans le premier
chapitre), les bibliothèques de base du langage ainsi que tous les composants
nécessaires au lancement d'applications ou d'applets Java. En gros, c'est
l'ensemble d'outils qui vous permettra d’exécuter des applications Java.
► Le JDK (Java Development Kit), qui contient le JRE (afin d’exécuter les applications
Java), mais aussi un ensemble d'outils pour compiler et déboguer votre code.
c. Android Studio et le SDK Android
Ensuite télécharger Android Studio du son site officiel et l’installer. Android Studio est un
environnement de développement spécialisé dans le développement d'applications Android,
et un outil pour gérer l'installation du SDK Android sur votre système.
Il existe des alternatives à Android Studio, mais nous ne les verrons pas, puisqu'Android
Studio est l'IDE privilégié par Google pour le développement Android.
IDE Android Developer Tools ou ADT
Ils sont basés sur l'IDE Eclipse,
Il est fourni par Google et embarque les outils nécessaires aux différentes étapes de
la création d'une application (création, compilation, débuggage, éditeur visuel,
profiling, packaging...),
Android Studio
Il est basé sur l'IDE IntelliJ IDEA. Il assure les fonctionnalités suivantes :
l'exécution/débuggage, refactoring, affichage du LogCat, éditeur graphique, tests
unitaires, Lint, DDMS, Hierarchy Viewer et Draw 9 Patch.
C'est quoi un Android SDK ?
Un SDK ; kit de développement est un ensemble d'outils permettant de développer pour
une cible particulière. Le SDK Android est un ensemble d'outils que met à disposition Google
permettant de développer des applications pour Android.
Android Studio offre d'autres fonctionnalités:
- un environnement de développement puissant.
- une manière simple pour tester les performances sur d'autres types d'appareils.
- des assistants et des modèles pour les éléments communs trouvés sur tous les
programmateurs Android.
- un éditeur complet avec une collection d'outils pour accélérer le développement de
votre application.
- de voir chacun des changements visuels que vous effectuez sur votre application et
en temps réel, vous pourrez voir aussi son effet sur différents appareils Android,
chacune avec différentes configurations et configurations simultanément.
d. Installation et configuration de l’Android studio:
Une fois le téléchargement est terminé, lancez l'installation. Pendant l'installation, vous
serez confrontés à certaines questions dont les suivantes :
Figure 2 choix des composants
Remarque : Sur cet écran, conservez les options Android SDK et Android Virtual Device,
pourtant ne sélectionnez Performance (Intel® HAXM) que si vous avez un processeur Intel
capable d'émulation (comme expliqué juste avant).
Figure 3 téléchargements des composants
Figure 4 Configuration de paramètres de l'émulateur
Ensuite indiquer quel mémoire vive (RAM) vous souhaitez accorder à l'émulateur Android. La
valeur par défaut est 2 Go mais vous pouvez indiquer une valeur en choisissant
Custom.
Une fois l'installation terminée, lancez Android Studio. Sous Windows, cette fenêtre
apparaîtra :
Le pare-feu Windows vous demande si Android Studio a l'autorisation d'accéder à Internet
Elle vous demande si vous autorisez Android Studio à se connecter à Internet. Je vous
conseille de cliquer sur Autoriser l’accès.
Au premier lancement, une boîte de dialogue va s'afficher et vous demander si vous aviez
déjà une version d'Android Studio installée précédemment. Si ce n'est pas le cas,
sélectionnez la seconde option :
► Coucher “I do not have a previous version of Android Studio”
Une fenêtre s'ouvrira pour vous demander ce que vous souhaitez faire. On va commencer
par lui demander de télécharger le SDK d'Android. Pour cela, cliquez sur Configure :
► Pour télécharger le SDK, cliquez sur Configure, cliquez ensuite sur SDK Manager et on
obtient la fenêtre suivante :
Figure 5 configurations de SDK manager
On peut cliquer sur Launch Standalone SDK Manager pour installer d’autres versions
d’Android et leurs APIs correspondantes, comme il est indiqué dans la figure ci-dessous :
► Des lignes dont l'icône (carré à coucher) est un répertoire représentent des
groupes de paquets, qui appartiennent tous à une même catégorie, par exemple
la catégorie des outils (Tools).
Observez le nom des autres groupes, vous remarquerez que certains suivent un
certain motif. Il est écrit à chaque fois :
o Android (un nombre): correspond à la version d'Android, exemple Android 5,
o API (un autre nombre: correspond à la version de l'API Android associée,
exemple API 21.
La présence de ces nombres s'explique par le fait qu'il existe plusieurs versions de la
plateforme Android qui ont été développées depuis ses débuts et qu'il existe donc
plusieurs versions différentes en circulation.
e. Installation des paquets supplémentaires et des
mises à jour
Nous commencerons par nous assurer que nous possédons tout ce qu’il faut pour
développer. Dans la page de démarrage, sélectionnez Configure> SDK Manager. Dans le
gestionnaire (fig.10) vous verrez la version du SDK installé (avec les mises jour disponibles) et
aussi la version de l’API (Application Programming Interface) installée et la version de l’OS
pour laquelle elle vous permettra de développer. Installez les éventuelles mises à jour.
Figure 60 SDK Manager
a) Dans l’onglet SDK Tools dans le SDK Manager assurez-vous d’avoir installé au
moins
Android SDK Build Tools: inclut les outils pour build Android apps, il permet de
faire des configurations de build sans modifier les fichies du code source d’une
application,
Android SDK Platform Tools: contient des outils exigés par la plateforme Android,
en plus l’outil adb (include tools required by the Android platform, including the adb
tool).
Android SDK Tools: ils rassemblent les outils essentiels de développement et de
débogage, tels que ProGuard
(Includes essential tools such as ProGuard, is a component for the Android SDK.
It includes the complete set of development and debugging tools for Android).
Android Support Library: Includes local Maven repository for Support libraries,
which provide an extended set of APIs that are compatible with most versions of
Android
Android Support Repository
Google Repository
Google Play Services
b) Quand vous aurez terminé, cliquez Apply pour lancez les installations des éléments
supplémentaires.
c) Assurez-vous de cocher au moins un System Image pour l’émulateur.
Intel or ARM System Images; the system image is required in order to run the Android
Emulator. Each platform version contains the supported system images. You can also
download system images later when creating Android Virtual Devices (AVDs) in the AVD
Manager. Select either Intel or ARM based on your development computer's processor.
N.B: If you plan to use APIs from Google Play services, you must use the Google APIs
System Image.
3. Création d’un premier projet et d’une application
► Dans le menu Quick Start, sélectionnez Start a new Android Studio Project, ou bien
cliquez sur New Project dans le menu File pour ouvrir l'assistant de création de projet,
ensuite renseignez les informations nécessaires.
► Cliquez sur Next puis remplissez les champs suivants (figure 11-12):
Application name : c’est le nom qui va apparaitre dans la liste des applications sur
l’appareil et dans le Play Store.
Company domain : c’est un qualifiant qui apparaitra dans le nom du package.
Package name : il est utilisé comme identifiant de l’application, il permet de
considérer différentes versions d’une application comme étant
une même application. Il doit être unique parmi tous les packages
installés sur le système.
Minimum c’est la version Android la plus ancienne sur laquelle l’application
required SDK : peut tourner. Il faut éviter de remonter trop en arrière, ça
réduirait les fonctionnalités que vous pourriez donner à votre
application.
► un Clique sur Next. Pour créer une activité (un écran avec une interface graphique),
choisissez Blank Activity (figure 13-14) et cliquez Next.
Figure 11 Configuration du projet
Figure 12 Choix de Minimum SDK en spécifiant la version de l’API et de la Platform
Android.
Figure 13 Ajout d'une activité
► Remplir les champs par
un nom ou vous les
garder par défaut
comme dans la figure 14.
► Chaque activité dispose
d’un layout qui définit la
façon dont les
composants seront
disposés sur l’écran.
► Lissez les deux cases
couchées
Figure 14 Personnalisation e l'activité
4. Structure d’un projet dans l’Android Studio
La figure 15 illustre les principaux éléments de l’interface (barre d’outils, barre de navigation
Editeur du code java et xml…) de l’IDE Android Studio. Tout projet Android Studio contient
un ou plusieurs modules avec les fichiers du code source et les fichiers ressources dans le
dossier res.
► On y retrouve aussi des fichiers important comme [Link], les fichiers
du code Java dans le dossier Java et du code xml dans le dossier layout. Dans notre
exemple sont : [Link] et activity_main.xml.
► Le fichier [Link] sert de configuration pour le nouveau moteur de production
nommé Gradle, qui sera utilisé pour construire une application afin de la déployer sur
un smartphone. Il se trouve dans Gradle Scripts.
► Toutes les ressources d’un projet sont à stocker dans le répertoire res/, à savoir que
différents répertoires sont créés de base, tels que :
res/layout/ : comprendra tous vos fichiers XML correspondant à vos layouts,
res/menu/ : pour stocker vos menus au format XML,
res/drawable/ : pour toutes vos images,
res/values/colors : pour toutes les couleurs que vous utilisez dans votre projet,
res/values/strings : pour toutes les variables de votre application,
Structure du Barre à outils Barre de navigation
projet
Editeur du code
Barre d’Etat
Figure 15 Interface principale de l’Android Studio
Figure 16 Editeur Graphique contenant la palette des composantes/contrôles et leurs propriétés…
Editeurs de code et de Design
Pour accéder à L’Editeur Design cliquez sur onglet l’activity_main.xml (voir figure 16 et 17).
Cet éditeur permet de glisser les composants GUI dans le layout de l’activité, et les arranger
comme vous voulez. L’éditeur du code et de Design donne différentes vues pour le même
fichier. Lorsqu’on clique sur le Bouton Text qui existe en bas de l’éditeur, on obtient le code
XML de notre interface (voir figure ci-dessous).
La vue (TextView) peut avoir des attributs. Certains de ces attributs sont spécifiques à des
vues, d'autres sont communs. Parmi ces derniers, les deux les plus courants sont :
► layout_width, définit la largeur que prend la vue horizontalement, et
► layout_height, définit la hauteur qu'elle prend verticalement.
Ces deux attributs peuvent prendre une valeur parmi les trois suivantes :
fill_parent : donne autant de place que son parent sur l'axe concerné ;
wrap_content : réserve moins de place possible sur l'axe concerné. Par
exemple si votre vue affiche un texte, elle prendra juste la taille suffisante
pour écrire le texte ;
• Une valeur numérique précise avec une unité (exemple ; layout_witdt= ‘’229dp’’).
Ces trois lignes permettent
d'utiliser des attributs
spécifiques à Android.
Figure 17 Editeur du code xml de layout
5. Exécution de l’application
Le SDK Android permet de :
Simuler l’application sur un émulateur virtuelle AVD (Android Virtual
Device), permettant de reproduire le comportement d’un appareil réel
d’une façon virtuelle.
Installer l’application sur un appareil physique connectée par USB,
► Pour pouvoir utiliser un émulateur il d’abord il faut le configurer, pour ce faire allez
dans Tools Android > AVD Manager ou utiliser le bouton suivant , un
émulateur existe par défaut, mais vous pourriez rajouter d’autres appareils en
cliquant sur Create Virtual Device (voir figure 16).
Dans l’exemple de la figure 18 nous rajoutons le Galaxy Nexus 5X avec une extra
haute résolution (xhdpi).
Nous sélectionnons ensuite le processeur qui sera émulé (figure 17), dans notre cas
on a choisi x86. Vous pouvez télécharger d’autres images systèmes avec d’autres
versions Android. En cliquant sur Next, Vous avez ensuite la possibilité de configurer
d’autres paramètres.
Notez qu’à la création de l’appareil sa résolution vous est signalée. Ceci est important à
prendre en considération afin d’’intégrer d’images dans l’application.
► Lancer l’exécution sur l’émulateur en appuyant sur le bouton d’exécution, et
sélectionnez l’émulateur sur lequel vous souhaitez lancer l’application.
► Vous pouvez cochez « Use same device for future launches » pour éviter d’avoir
sélectionné l’appareil à chaque lancement.
► L’émulateur se lance et il va prendre quelques minutes. Rassurez-vous, vous n’aurez
pas à le relancer à chaque fois que vous compilez votre projet, laissez-le ouvert et à
chaque fois que vous compilez et relancez votre application, elle pourra être chargée
dans l’émulateur en cours (il vous le proposera parmi les Running devices ).
Caractéristiques d’un AVD
L’assistant de création de smartphone demande :
• Modèle de téléphone à simuler,
• Version du système qu’il doit contenir,
• Orientation et densité de l’écran,
• Options de simulation :
– Snapshot : mémorise l’état de la machine d’un lancement à l’autre,
– Use Host GPU : accélère les dessins 2D et 3D à l’aide de la carte graphique du PC.
• Options avancées:
– RAM : mémoire à allouer, mais est limitée par votre PC,
– Internal storage : capacité de la flash interne,
– SD Card : capacité de la carte SD simulée supplémentaire (optionnelle).
Figure 18 Choix de l'appareil virtuel
Figure 19 choix d'un processeur
Exécution sur un appareil réel
Il s’agit d’abord d’activer l’option « Options pour les développeurs » Avant de connectez
l’appareil par câble USB à l’ordinateur et installez le pilote si nécessaire en suivant les étapes
suivantes (voir figures 20):
1. Dans les paramètres du téléphone, choisissez le menu Sécurité,
2. Si vous ne voyez pas l'option Options pour les développeurs, sélectionnez A propos du
téléphone, le dernier item de la liste : Il s'agit de la toute dernière option du menu,
mais pas besoin de l'ouvrir si Options pour les développeurs est déjà là,
3. Naviguez tout en bas de cette page et appuyez sur Numéro de Build., appuyez sur ce
bouton sept fois ;
4. Activez l’option de débogage USB sur votre appareil (dans les paramètres, sous-
développement ou option de développement).
5. Lancez l’application depuis Android Studio. Si on vous demande de choisir l’appareil,
sélectionnez Choose running device, puis votre téléphone ou tablette. Android
Studio installera l’application sur votre appareil et la lancera.
Figure 20 configuration de l’appareil réel