Développement d’Applications Mobiles
Chapitre 1 : Introduction à la plateforme Android
Dr. GUELLATI Souad
NTIC/TLSI
[email protected]Université Constantine 2 2024/2025. Semestre 1
Développement d’Applications Mobiles
Chapitre 1 : Introduction à la plateforme Android
Dr. GUELLATI Souad
NTIC/TLSI
[email protected] Étudiants concernés :
Faculté/Institut Département Niveau Spécialité
Nouvelles technologies TLSI Master 1 ILSI
Université Constantine 2 2024/2025. Semestre 1
C’est quoi un OS mobile ?
Tout comme un ordinateur dispose d’un système
d’exploitation, les téléphones mobiles se composent également
d’une plate-forme qui contrôle toutes ses fonctionnalités. Ceci
est connu comme un système d’exploitation mobile.
Généralement connu sous le nom d’OS mobile.
Il s’agit d’un système d’exploitation qui exploite un appareil
mobile (smartphone, tablette, etc....).
Il contrôle toutes les opérations de base du téléphone mobile
comme option d’écran tactile, Bluetooth, Wifi, appareil photo,
lecteur de musique et d’autres fonctionnalités.
Université Constantine 2 © Dr. GUELLATI Souad 2 / 25
Exemples des systèmes d’exploitations mobile
Les principaux systèmes d’exploitations mobile sont :
Android de Google.
iOS d’Apple.
Windows Phone de Microsoft.
Bada de Samsung.
BlackBerry OS de RIM.
Symbian OS de Nokia.
Université Constantine 2 © Dr. GUELLATI Souad 3 / 25
Le marché des systèmes d’exploitations mobile
La figure suivante présente le part du marché mondiale des
systèmes d’exploitations mobiles étude en 2019 :
Android est le premier system d’exploitation dans le monde en
nombre d’utilisateur (+ de 75 % du nombre total) .
Le deuxième est iOS (- de 25 % du nombre total).
Les autre systèmes presque 0 %.
Figure: Part du marché mondiale des OS mobiles
Université Constantine 2 © Dr. GUELLATI Souad 4 / 25
Système d’exploitation Android
Android est un système d’exploitation mobile, open source et
basé sur Linux.
Le site ”source.android.com” offre le code source d’Android.
Ce système d’exploitation a été développé par Google et
Open Handset Alliance (OHA).
OHA : un groupement d’acteurs de plusieurs entreprises dont
le but est de développer des normes ouvertes pour les
appareils de téléphonie mobile
Université Constantine 2 © Dr. GUELLATI Souad 5 / 25
Système d’exploitation Android
Le système d’exploitation Android est également présent sur
des tablettes tactiles, télévisions, ordinateurs et montres
connectées.
Figure: Principaux appareils fonctionnant sur le système d’exploitation
Android
Université Constantine 2 © Dr. GUELLATI Souad 6 / 25
Logo d’Android
Figure: Logo d’Android
Université Constantine 2 © Dr. GUELLATI Souad 7 / 25
Les versions d’Android
De nombreuses versions d’Android tournent sur une grande variété
de marques de téléphones et de tablettes telles que Samsung,
Motorola, Sony, Google Nexus, Acer, LG, Dell.
Version Nom de code Date de sortie
1.5 Cupcake 30 avril 2009
1.6 Donut 15 septembre 2009
2.0 Eclair 26 octobre 2009
2.2 Froyo 20 mai 2010
2.3 Gingerbread 6 décembre 2010
3.0 Honeycomb 22 février 2011
4.0 Ice Cream Sandwich 19 octobre 2011
4.1 - 4.3 Jelly Bean 9 juillet 2012
4.4 KitKat 3 septembre 2013
5.0 Lollipop 3 novembre 2014
Université Constantine 2 © Dr. GUELLATI Souad 8 / 25
Les versions d’Android
Version Nom de code Date de sortie
5.1 Lollipop 9 mars 2015
6.0 Marshmallow 8 octobre 2015
7.0 Nougat 22 août 2016
8.0 Oreo 21 août 2017
9.0 Pie 6 août 2018
10 Android 10 3 septembre 2019
11 Android 11 8 septembre 2020
12 Android 12 4 Octobre 2021
13 Android 13 15 août 2022
14 Android 14 4 octobre 2023
Université Constantine 2 © Dr. GUELLATI Souad 9 / 25
Les versions d’Android
Université Constantine 2 Figure: Les versions d’Android
© Dr. GUELLATI Souad 10 / 25
Les versions d’Android
Android a connu plusieurs mises à jour depuis sa première
version. Ces mises à jour servent généralement à :
Corriger des bugs.
Améliorer l’aspect graphique.
Ajouter de nouvelles fonctionnalités.
La dernière version de la plateforme est maintenant Android
14 (la version stable d’Android 14 est sortie le 4 octobre
2023).
Figure: Logo d’Android 14.
Université Constantine 2 © Dr. GUELLATI Souad 11 / 25
Architecture du système Android
La plate-forme Android est composée de différentes couches :
Figure: Architecture du système Android
Université Constantine 2 © Dr. GUELLATI Souad 12 / 25
Architecture du système Android
1. Noyau Linux
Le noyau Linux, comme n’importe quel OS, est responsable de la
gestion du matériel à l’aide de pilotes (drivers), la mémoire, les
processus ou encore les couches réseaux basses.
Figure: Noyau Linux
Université Constantine 2 © Dr. GUELLATI Souad 13 / 25
Architecture du système Android
2. Bibliothèques (Libraries)
La couche ”Libraries” (bibliothèques) qui représente la couche
logicielle basse pour utiliser :
Les formats multimédia : images, audio et vidéo
enregistrement comme rendu.
Les dessins 2D et 3D, l’image matricielle (ou bitmap) et
vectoriel,
Une base de données SQL (SQLite).
SSL (Secure Sockets Layer) désigne un protocole de sécurité
des données.
Université Constantine 2 Figure: La couche©bibliothèques
Dr. GUELLATI Souad 14 / 25
Architecture du système Android
3. L’environnement d’exécution Android Runtime
Figure: L’environnement d’exécution Android Runtime
Université Constantine 2 © Dr. GUELLATI Souad 15 / 25
Architecture du système Android
3. L’environnement d’exécution Android Runtime
Dalvik est le nom de la machine virtuelle open source utilisée
sur les systèmes Android. Cette machine virtuelle exécute des
fichiers ”.dex” (dalvic executable), plus ramassés que les
”.class” classiques. Ce format évite par exemple la
duplication des String constantes.
Toute application est exécutée dans son propre processus,
dans sa propre Dalvik Virtual Machine, donc plusieurs
instances de la DVM peuvent être lancées efficacement.
Le noyau Linux sur lequel la Dalvik Virtual Machine s’appuie
pour gérer le multithreading, la mémoire, la gestion des
processus, etc. Le noyau Linux apporte les services de
sécurité, la gestion des processus, etc.
Université Constantine 2 © Dr. GUELLATI Souad 16 / 25
Architecture du système Android
3. L’environnement d’exécution Android Runtime
L’environnement d’exécution est basé sur le concept de
machine virtuelle, utilisée en Java. Étant donné les limitations
des dispositifs (peu de mémoire et la vitesse du processeur), il
n’a pas été possible d’utiliser une machine virtuelle Java
standard.
Google a pris la décision de créer une nouvelle machine
virtuelle Dalvik, afin de mieux répondre à ces limitations. A
partir de Lollipop, Android dispose d’ART qui compile
l’application au moment de l’installation (Ahead-of-time
compilation).
Université Constantine 2 © Dr. GUELLATI Souad 17 / 25
Architecture du système Android
4. Application Framework
Figure: Application Framework
Université Constantine 2 © Dr. GUELLATI Souad 18 / 25
Architecture du système Android
4. Application Framework
La couche ”Application Framework” permet au programmeur de
construire de nouvelles applications. Cette couche fournit la
gestion :
Des Views (IHM : Interface Homme-Machine).
Des fournisseurs de contenus (ContentProviders) qui
permettent l’accessibillité aux données des autres applications
(ex : les contacts) et donc les partages de données.
Des ressources qui sont les fichiers non codes comme les
images, les écrans (Resource Manager).
Des notifications (affichage d’alerte dans la barre de titre).
Des Activities pour l’enchaı̂nement des écrans.
Université Constantine 2 © Dr. GUELLATI Souad 19 / 25
Architecture du système Android
5. La couche Application
Il s’agit tout simplement d’un ensemble d’applications que l’on
peut trouver sur Android (Navigateur, gestion des contacts,
application de téléphonie, Bureau,. . . ).
Figure: La couche Application
Université Constantine 2 © Dr. GUELLATI Souad 20 / 25
Les éléments d’une application Android
Une application Android peut être composée des éléments
suivants:
Des Activités (android.app.Activity).
Des services (android.app.Service).
Des fournisseurs de contenus
(android.content.ContentProvider).
Des récepteurs d’informations
(android.content.BroadcastReceiver).
Université Constantine 2 © Dr. GUELLATI Souad 21 / 25
Les éléments d’une application Android
Activity
Une activité est une partie de l’application présentant une
interface graphique à l’utilisateur. Elle s’exécute en générale à la
demande de l’utilisateur et peut être terminé par l’utilisateur. Une
activité peut interagir avec :
L’utilisateur en lui demandant des données.
D’autres activités ou services en émettant des intentions
(Intents).
Université Constantine 2 © Dr. GUELLATI Souad 22 / 25
Les éléments d’une application Android
Service
Un service est un composant : qui fonctionne en arrière-plan,
sans interface graphique pour :
Effectuer des opérations en cours d’exécution.
Effectuer des travaux pour les processus distants.
Par-exemple le lecteur d’e-mails qui va vérifier périodiquement
si vous avez reçu un nouveau e-mail.
Il peut être lancé à différents moments :
Au démarrage du téléphone.
Lancement de votre application.
Une réponse a une action particulière dans votre application.
Au moment d’un événement (arrivée d’un appel, d’un SMS,
d’un e-mail, etc....).
Université Constantine 2 © Dr. GUELLATI Souad 23 / 25
Les éléments d’une application Android
BroadcastReceiver
Un récepteur d’informations est un sous classe de
”android.content.BroadcastReceiver”.
Un récepteur d’informations est un composant à l’écoute
d’informations qui lui sont destinées. Un tel récepteur indique
le type d’informations qui l’intéressent et pour lesquelles il se
mettra en écoute.
Les informations peuvent être envoyées par le système
(réception de la liste des réseaux Wi-Fi, ...).
Exemples : appel téléphonique entrant, réception d’un SMS,
réseau Wi-Fi connecté, informations diffusées par des
applications, des que la batterie est faible un message est
affiché dans votre application.
Université Constantine 2 © Dr. GUELLATI Souad 24 / 25
Les éléments d’une application Android
Content Providers
Un fournisseur de contenu (content provider) gère des
données partageables. C’est le seul moyen d’accéder à des
données partagées entre applications.
Les content providers servent à accéder à des données
depuis votre application et vice versa. Vous pouvez accéder :
aux photos, Agenda...
Exemple de fournisseur de contenu : les informations de
contacts de l’utilisateur du smartphone...
Université Constantine 2 © Dr. GUELLATI Souad 25 / 25