Vous êtes sur la page 1sur 36

Institut Supérieur d'Informatique de Mahdia

Support du cours

DÉVELOPPEMENT
D’APPLICATIONS MOBILES
Naziha Nouri
nourinaziha@yahoo.fr
GLSI-LCS 3 Informatique A.U 2023-2024
PRÉSENTATION DU COURS

Ce cours vise à offrir aux apprenants ce qui suit :


 Objectif général
 les techniques de développement mobile comme Android.
 connaitre les particularités du développement mobile.
 découvrir la programmation sous une plateforme mobile, sa
plateforme de développement et les spécificités de
développement embarquées sur la téléphonie mobile.

2
PRÉSENTATION DU COURS

 Objectifs Spécifiques
 comprendre les plateformes mobiles ainsi que leurs
contraintes.
 Apprenez comment créer une application sur une plateforme
mobile.
 Connaître la fonctionnalité d'un téléphone smartphone.
 Prérequis
- Programmation objet;
- Maîtrise du langage JAVA..

3
4
PLAN
• Applications mobiles
• Présentation du système Android
• Versions
• Architecture du système Android
• L’environnement de développement sous
Android

5
APPLICATIONS MOBILES

• Une application mobile est un programme gratuit ou payant à


télécharger et à exécuter depuis le système d'exploitation
d'un appareil mobile (PDA, smartphone, tablette...).

• La plupart d'entre eux sont diffusés via des plates-formes de


téléchargement (parfois contrôlés par des constructeurs de
smartphones) par exemple l'App Store (plateforme d'Apple),
le Google Play (plateforme de Google / Android), ou encore le
Windows
Phone Store(plateforme de Microsoft). 6
PRÉSENTATION DU SYSTÈME ANDROID

 Android est
 Un système d'exploitation temps réel
 Conçu par l’entreprise americaine Google
 Open source , Gratuit, Facile à développer, Facile à vendre et
Facile à vendre
 Conçue spécifiquement et non seulement pour des systèmes
embarqués légers comme smartphones, PDA, tablettes…

 Android désigne à la fois


 Un environnement de développement (API)
 Un environnement d’exécution (le plus souvent)
7
PRÉSENTATION DU SYSTÈME ANDROID

Android repose sur deux axes


 Le langage Java
 Le SDK permet de mettre en place un environnement
de développement facilitant la tâche du développeur.
 Le kit de développement fournit un accès
• aux exemples
• à la documentation
• surtout à l'API de programmation du système
• à un émulateur pour tester ses applications.

8
VERSIONS

- Données collectées sur une période de 7


jours se terminant le 2 octobre 2017
- < % 0,1 ne sont pas visible
9
ARCHITECTURE DU SYSTÈME ANDROID

10
ARCHITECTURE DU SYSTÈME ANDROID

Système Android s’appuie essentiellement sur quatre


principaux couches qui sont les suivants:
• Le noyau Linux
• Les librairies ( bibliothèques) et l’environnement
d’exécution
• Le module de développement d’applications
• Les différentes applications

11
ARCHITECTURE DU SYSTÈME ANDROID

 Le noyau (Kernel)
 Le système d’exploitation Android se base sur un noyau Linux
(Kernel), régulièrement mis à jour selon les versions du
système
 Le noyau est l’élément du système d’exploitation qui
représente la passerelle entre la partie matérielle et la partie
logicielle.
 Cette première couche prend en charge la gestion des couches
basses (gestion des processus, de la mémoire, de la couche
matérielle) ainsi que les droits utilisateurs

12
ARCHITECTURE DU SYSTÈME ANDROID

 Les bibliothèques (librairies)


 Les bibliothèques utilisées dans Android sont open sources (
écrites en C et/ou C++ ).
 Elles offrent des services de qualité tels que:
– la bibliothèque d’affichage en 2D (SGL) et de 3D (OpenGL),
– la bibliothèque de base de données (SQLite),
– la lecture et l’enregistrement audio et vidéo (Media
Framework),
– un moteur de navigation Web (WebKit),...,etc.

13
ARCHITECTURE DU SYSTÈME ANDROID

 L’environnement d’exécution ( Android Runtime)


 l’environnement d’exécution d’Android, qui est basé sur une
technologie Java et sur le concept de machine virtuelle
 Vue que les contraintes matériels des dispositifs mobiles (peu
de mémoire et la vitesse du processeur)
était difficile d’utiliser une machine virtuelle Java
standard.
Google a pris la décision de créer une nouvelle
machine virtuelle Dalvik,

14
ARCHITECTURE DU SYSTÈME ANDROID

La machine virtuelle Dalvik (MVD)


 Les applications Java, développées pour Android, doivent être
compilées au format Dalvik exécutable (.dex) avec l’outil (dx).
 Cet outil compile les (.java) en (.class) et ensuite il convertit
ces (.class) en (.dex).
15
ARCHITECTURE DU SYSTÈME ANDROID

 Le module de développement d’applications ( Application


framework)
À ce niveau on distingue deux types de service :
• Les services cœurs de la plateforme (Core Plateform Services)

- Activity Manager : il prend en charge de la gestion du cycle de vie des


applications ainsi que le maintien de la pile de navigation qui permet d’aller
d’une application à une autre.

- Package Manager : il est utilisé, par l’Activity Manager, pour charger les
informations provenant des fichiers (.apk) (Android package file).

- Window Manager : il s’occupe de la gestion des fenêtres des applications


(quelle fenêtre doit être affichée devant une autre à l’écran).
16
ARCHITECTURE DU SYSTÈME ANDROID

 Le module de développement d’applications ( Application


framework)
À ce niveau on distingue deux types de service :
• Les services cœurs de la plateforme (Core Plateform Services)

- Resource Manager : Il s’intéresse pour la gestion de tous ce qui n’est pas


du code, toutes les ressources (images, fichier audio, etc.).

- Content Provider : Il gère le partage de données entre applications.

- View System : Il fournit tous les composants graphiques : listes, grilles,


boutons,etc...
17
ARCHITECTURE DU SYSTÈME ANDROID

 Le module de développement d’applications ( Application


framework)
À ce niveau on distingue deux types de service :
• Les services matériels (Hardware Services) : ce type de service
fournit un accès vers les API matérielles :
- Telephony Service : il permet d’accéder aux interfaces
téléphoniques (GSM, 3G, etc.).
- Location Service : il permet d’accéder au GPS.
- Bluetooth Service : il permet d’accéder à l’interface Bluetooth.
- Wi-Fi Service : il permet d’accéder à l’interface Wifi.
- USB Service : il permet d’accéder aux interfaces USB.
- Sensor Service : il permet d’accéder aux capteurs (capteur de
luminosité, de proximité, d’accélération,etc.).
18
ARCHITECTURE DU SYSTÈME ANDROID

 Le module de développement d’applications ( Application


framework)
À ce niveau on distingue deux types de service :
• Les services matériels (Hardware Services) : ce type de
service fournit un accès vers les API matérielles :

- USB Service : il permet d’accéder aux interfaces USB.

- Sensor Service : il permet d’accéder aux capteurs (capteur


de luminosité, de proximité, d’accélération,etc.).

19
ARCHITECTURE DU SYSTÈME ANDROID

 Les applications ( Applications and Widgets)


• d’un ensemble d’applications que l’on peut trouver sur
Android
• Ces applications peuvent être, soit téléchargées à partir du
magasin d’application officiel, soit installées par défaut
• telles que l’application d’accueil (aussi appelée Launcher), le
navigateur web, les applications de SMS et téléphonie, etc.

20
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Méthodes de développement
 Généralement il y a deux manières pour développer une
application sous Android :

– Méthode classique : en utilisant un IDE (Eclipse) + JDK +


SDK
– Méthode moderne : en utilisant Android Studio

21
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 JDK (Java Developpment Kit)
 Les applications développées sous Android sont forcement
écrites en langage Java
 Java est un langage de programmation orienté objet et se
caractérise par la portabilité (pourra facilement tourner sur
n’importe système d’exploitation (ex: Windows, Mac ou
GNU/Linux)
 Cette particularité ( portabilité) vient du fait que l’exécution
d’une n’importe quelle application écrite en Java a besoin
d’une machine virtuelle appelée JVM.

22
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 JDK (Java Developpment Kit)
 Pour avoir une JVM sur un ordinateur, il faut télécharger le
JRE (Java Runtime Environment) qui contient, en plus de la
JVM, des bibliothèques Java standard
 La JVM ne lit pas directement le code Java. Elle lit un code
compilé (le byte code).

23
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 SDK (Software Development Kit) Android
 Un SDK (un kit de développement logiciel)
 Est un ensemble d’outils que met à disposition un éditeur
afin de permettre de développer des applications pour un
environnement précis.
 Le SDK Android permet de développer des applications
uniquement pour Android.

24
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 SDK (Software Development Kit) Android
 Une application développée pour une version précise
d’Android ne fonctionnera pas pour les versions antérieures.

25
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Eclipse
 Eclipse IDE est un environnement de développement écrit en
Java ,intégré ,libre, extensible, universel et polyvalent
 Créer des projets de développement mettant en œuvre
n’importe quel langage de programmation
 Ce langage, grâce à des bibliothèques spécifiques, est
également utilisé pour écrire des extensions
 De plus, Eclipse est conçu pour pouvoir être complété avec
des plugins (extension) tel que ADT (Android Development
Tools)

26
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Eclipse
 Eclipse IDE est un environnement de développement écrit en
Java ,intégré ,libre, extensible, universel et polyvalent
 Créer des projets de développement mettant en œuvre
n’importe quel langage de programmation
 Ce langage, grâce à des bibliothèques spécifiques, est
également utilisé pour écrire des extensions
 De plus, Eclipse est conçu pour pouvoir être complété avec
des plugins (extension) tel que ADT (Android Development
Tools)

27
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Andriod studio
 Jusqu’au debut de Mai 2013, pour développer des
applications Android, Google mettait en avant l’utilisation
d’Eclipse couplé avec le Plugin ADT (Android Development
Tools).
 Android studio n’a pas été développé de zéro mais il est basé
sur l’IDE de JetBrains, IntelliJ IDEA.

28
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Andriod studio
 Dans sa dernière version, Android Studio offre toutes les
possibilités nécessaires pour développer une application
Android complète

29
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Andriod studio
 permet principalement d’éditer les fichiers Java/Kotlin et les
fichiers de configuration XML d’une application Android

 Il propose entre autres des outils pour gérer le


développement d’applications multilingues et permet de
visualiser rapidement la mise en page des écrans sur des
écrans de résolutions variées simultanément

 Il intègre par ailleurs un émulateur permettant de faire


tourner un système Android virtuel sur un ordinateur

30
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Stucture d’un projet android studio
 Depuis le passage à Android Studio, les projets de
développement sous Android ont changé d’architecture La
structure générale d’un projet Android se compose de deux
répertoires principaux :
- App.
- Gradle Scripts.

31
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Le répertoire App
 les sources d’une application Android possèdent une
structure bien définie qui doit être respectée
 Ces arborescences permettent non seulement de rendre les
projets plus lisibles et organisés, mais aussi de simplifier le
développement.

32
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
il existe trois principaux répertoires constituant l’arborescence
globale d’un projet Android
 AndroidManifest.xml:
• Manifest est un fichier XML indispensable décrivant
l’application et ses composants, tels que les activités, les
services, etc.
• Ce fichier permet de spécifier différentes options pour un
projet Android (ex: le matériel nécessaire ,paramètres de
sécurité et nom de l’application ainsi que son icône).
• Permet d’autoriser l’exécution des activités et autres actions
de l’application

33
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
il existe trois principaux répertoires constituant l’arborescence
globale d’un projet Android

 Java : c’est un répertoire contenant tous ce qui concerne le


code source de l’application, que ce soit avec java ou Kotlin.

 Res : c’est un répertoire contenant toutes les ressources


telles que les images, les vues de l’interface graphique, etc.

34
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Gradle Scripts
 Est un outil qui permet l’automatisation des opérations de
construction d’une application java comme e Make (projets
C++ sur Unix), Ant (projets Java dans Eclipse).

35
L’ENVIRONNEMENT DE DÉVELOPPEMENT
SOUS ANDROID
 Gradle Scripts
 De même que make se sert d’un fichier Makefile, Gradle se
sert d’un fichier nommé build.gradle

 Lors de la compilation du projet, l’application finale est


générée au format APK, dans le répertoire bin de
l’arborescence

 C’est ce fichier qu’il faut ensuite déployer sur les


équipements, afin de pouvoir faire tourner l’application

36

Vous aimerez peut-être aussi