Académique Documents
Professionnel Documents
Culture Documents
Introduction au
développement mobile
am
oh
M
Ben Jazia Mohamed
Maître Technologue
a
-Iset Mahdia-
zi
Benjazia.med@gmail.com
Ja
www.benjaziamed.tn
/benjazia.mohamed
n
Be
ed
mobiles :
I. Evolution des os mobiles
am
II. Les systèmes d’exploitations mobiles.
III. Le développement natif ou hybride
oh
Partie 2 : L’OS Mobile Android
M
I. Présentation Android
II. Les Différentes versions
a
zi
III. Android en chiffre
IV. L’architecture d’Android.
Ja
V. Le SDK Android
n
ed
• Une révolution dans les derniers 20
années.
am
• Du téléphone classique vers le téléphone
intelligent (smart phone)
oh
Cette évolution est accompagnée (assurée):
• Evolution électronique des semi
M
conducteurs.
a
• Evolution des réseaux mobiles (Edge,
zi
3G, 3.5, 4G)
Ja
• Une grande concurrence entre les
n
différents constructeurs
Be
ed
am
oh
M
a
zi
Ja
n
Be
ed
Présentation:
• Un système d’exploitation mobile est: un
am
système d’exploitation conçu spécialement
pour les systèmes mobiles: PDA, Smartphone,
oh
Tablette, ou autre système embarqué …
• Il offre:
M
• Gestion d’alimentation: Batterie
• Gestion mémoire: RAM
a
• Gestion sans fil: Wifi, Bluetooth, 3G
zi
• Gestion des connectivités: USB, HDMI
Ja
• Gestion des support de stockage: SD-CARD
• Exécution de plusieurs applications.
n
Be
ed
Exemple d’ OS Mobile:
am
oh
M
a
zi
Ja
n
Be
ed
am
oh
M
a
zi
Ja
n
Be
ed
am
Framework, Co Framework QT, C# ou VB.NET
coa,
oh
C++ Framework.net
l’Objective-C.
M
a
zi
BlackBerry WebWorks kit de dévelop
Ja
pement
Java C++
Solution
n
SDK
Be
+NDK
Koltin Le développement
16/09/2021 natif
Mohamed Ben Jazia : Android 8
III. Le développement natif ou hybride
2. Le développement Natif:
ed
• Avantage:
• Accéder à toute les fonctionnalités du terminal.
am
• Code générer plus sécurisé et plus stable.
• Taille de package d’installation optimisé.
oh
• UX parfaite (Maj automatiquement selon les api)
• Une performance accru
M
a
zi
Ja
n
Be
ed
• Inconvénients:
• Pour chaque os: son propre Framework, ses
am
outils et son langage.
• La nécessité de réécrire le code pour chaque OS
oh
destinataire.
• Un coût de développement très élevé ( coût +
M
temps)
a
Solution
zi
Ja
Le développement Le développement
n
Hybride Multiplate-forme
Be
ed
Développement des applications mobiles.
. • Conception des ihms:
am
• HTML5 & CSS3
• Programmation:
• JAVASCRIPT:
oh
• Utilisation des Framework avancés :
M
Jquery, jquery mobile, dojo, phonejs…
• Accès aux ressources matérielles du terminal:
a
• Cam, gps, carnet d’adresse, carte sim,sd carte,
vibreur,etc zi
• Des Framework Particuliers : !
Ja
=> basé sur JavaScript
n
Be
ed
Exemple de solution disponible :
.
am
oh
M
a
zi
Ja
n
Be
ed
• Avantage:
. • Développement rapide : utilisé par les startup
am
• Coût de développement minimum
• Plus facile à développer qu’une app native
oh
M
• Inconvénients:
• Performance de l’application limité
a
• IU /UX : moyen
zi
Ja
n
Be
ed
Exemple de solution disponible :
.
am
oh
M
a
zi
Ja
n
Be
ed
• Avantage:
. • La ré utilisabilité du code pour différentes
am
plates-formes
• Un seul code pour toutes les plateformes
oh
• Rapide lors du développement
• UX presque identique que le natif
M
•
• Inconvénients:
• Performances très limitées.
a
• Différences d'affichage et de comportement
zi
potentiel selon la plateforme d'exécution
Ja
difficiles à anticiper.
n
Be
ed
.
am
oh
M
a
zi
Ja
n
Be
https://www.vertigodigitalagency.com/page/explication-des-approches-de-developpement-dapplications-mobiles
M
Android
a
zi
Ja
n
Be
ed
• En 2003 création de la société Android.
am
• En 2005: Google rachète cette entreprise.
oh
• De 2005 jusqu’à 2007 : Google préparation d’une
plateforme mobile pour pouvoir intégrer ses
M
propres applications:
a
. zi
Ja
n
Be
ed
• Système d’exploitation mobile basé sur un noyaux
Linux 2.6/ 3
am
• Système open-source.
• Exécuter plusieurs applications en même temps.
oh
• La possibilité de personnaliser votre appareil mobile
( possibilité accru en mode root).
M
• Support des applications java.
• Prend en charge les graphiques 2d et 3D
a
• Chaque nouveau développeur paie 25$ comme frais
zi
de dossier (une seule fois)vérifié.
Ja
• Android s‘appuie sur Le SDK : Software
Developpement Kit.
n
Be
ed
fabriquant
d’appareil et
am
plusieurs
marques:
O.H.A
oh
Open Handset
M
Alliance
( 5 Novembre
a
2007)
zi
Ja
consortium plusieurs
entreprises.
n
ed
Android 1.0 Apple pie 1 23 Sept 2008
am
• Téléchargement des applications
via Android Market.
oh
• Support de l’appareil photo
• Accès aux serveurs e-
mail POP3, IMAP4 et SMTP
M
• Synchronisation des contacts,
mails et agenda
a
• Lecteur multimédia pour lire ses
zi fichiers audio et vidéo
• Notifications dans la barre de
Ja
statut
• Possibilité de personnaliser le fond
n
d’écran
Be
• Application YouTube
ed
sortie
.
am
Android 1.1 Banana 2 9 février
Bread 2009
oh
• Afficher" & "Cacher" le pavé
M
numérique, inclus dans le menu
d’appel
a
• Support pour sauvegarder les
zi fichiers attachés aux MMS
Ja
n
Be
ed
sortie
.
am
Android 1.5 Cupcake 3 30 Avril 2009
oh
M
a
zi
Ja
n
Be
ed
sortie
.
am
Android 1.6 Donut 4 15 sept 2009
oh
M
a
zi
Ja
n
Be
ed
. Android 2.0/2.0.1/2.1 Eclair 5/6/7 26 Oct 2009
am
oh
M
a
zi
Ja
n
Be
ed
sortie
. Android 2.2 Froyo 8 20 Mai 2010
am
oh
M
a
zi
Ja
n
Be
ed
Android 2.3 Gingerbread 9 6 Décembre 2010
.
am
oh
M
a
zi
Ja
n
Be
ed
. Android 3 Honeycomb 11 22 Février 2011
am
oh
M
a
zi
Ja
n
Be
ed
LEVEL
.
Android 4.0 Ice Cream Sandwich 14 19 Mars 2011
am
oh
M
a
zi
Ja
n
Be
ed
sortie
.
am
Android Jelly Bean 16/17/18 9 Juill 2011
4.1/4.2/4.3
• 4.1:
oh
• Basée sur le noyau Linux 3.0.31.
• Possibilité de désactiver les notifications sur une
application en particulier
M
• L’organisation automatique des widgets.
• Recherche vocale hors-ligne
a
• 4.2:
zi
• Ajout de l’application pour la « Photo Sphere » qui
permet de créer des panoramas à 360°.
Ja
n
Be
ed
sortie
.
am
Android 4.4 KitKat 19 15 Octobre
2013
oh
API pour la gestion des SMS
• Amélioration de la sécurité (SELinux enforcing
mode, nouveaux algorithmes
M
cryptographique, VPN par utilisateur...)
• Framework pour imprimer
a
• Chromium WebView
zi
• Audio tunneling vers DSP
• Nouveau profil Bluetooth
Ja
• API pour les émetteurs infra-rouge
(télécommande)
n
e (TDLS)
ed
sortie
. Android 5.0 Lollipop 21 Novembre
am
2014
Android 5.1 Lollipop 22 Mars 2015
oh
• Nouveau moteur
d'exécution ART qui compile les
M
applications dès leur installation
plutôt que la compilation JIT avec
a
Dalvik
• Nouvellezi interface
Ja
graphique avec un nouveau
design nommé Material Design
• Projet Volta qui permet d'optimiser
n
la consommation d'énergie
Be
ed
. Android 6.0 Marshmallow 23 15 Octobre 2015
am
• Support de l'authentification par
oh
empreinte digitale ( Biométrique)
• Réorganisation du gestionnaire des
M
permissions personnalisé
• Barre d’action rapide pour tablette
a
• Possibilitézi désinstallation application
Native
Ja
• Amélioration de la durée de la batterie
n
ed
sortie
Android 7.0 Nougat 24 22 Aout 2016
.
am
Android 7.1,7.1.1, Nougat 25 4 Octobre
7.1.2 2016
• Meilleur support du multitâche Multifenêtrage:
oh
exécution de 02 application en //
• Mises à jour systèmes amélioré (grâce à une
M
double partition système)
• Amélioration des performance et de la taille
a
du code avec compilateur JIT.
zi
• Economie du batterie renforcé avec Doze.
Ja
• Intégration de VR mode, réalité virtuelle
• Intégration des nouveaux smiles :Unicode 9
n
emoji:
Be
ed
Android 8.0 Oreo 26 01 Octobre 2017
Android 8.1 Oreo 27 5 Décembre
am
●
Picture-in-picture ( debut sur les tv et 7.0) 2017
●
Multi-fenêtre
●
Gestion multi-tâche et démarrage rapide
oh
●
Gestion des notifications
●
Amélioration des WebView et les API de Java 8
les émojis
M
●
●
Plus de sécurité avec Play Protect
●
API réseaux neuronaux : I.A
a
●
API de mémoire partagée
●
zi
Niveau de batterie Bluetooth pour les appareils connectés,
accessible dans les paramètres rapides
Ja
●
Android Oreo Go Edition , une distribution légère pour les
appareils bas de gamme avec moins de 1 Go de RAM
Les boutons de navigation ne sont pas utilisés
n
●
Changements visuels pour "Power Off" et "Restart",.
Be
●
Thèmes lumineux et sombres automatiques(Jour/nuit)
●
Lien
16/09/2021 Mohamed Ben Jazia : Android 35
II. Les différentes versions
Version Nom API LEVEL Date de
sortie
ed
Android 9.0 Pie 28 6 août 2018
.
am
oh
M
●
Un bouton "capture d'écran" a été ajouté aux options d'alimentation.
a
●
Un nouveau mode "Lockdown" qui désactive l'authentification
biométrique une fois activée
● zi
Réduction des tailles des applications installé presque de 50 %.
Ja
●
Intégration des nouvelles applications google : google GO, Gbord,
etc
●
Spécification d’un quotat d’utilisation des connectivité par application
n
●
Connection bluethoh jusqu’à 5 devices
Be
●
Vulkan 1.1 Support : ( OPENGL/Direct3D)
Lien
ed
.
am
oh
Queen-of-puddings
M
●
Réponses intelligentes aux messages Quiche
●
Un amplificateur de son intelligent
a
●
Les permissions sont plus approfondies :
●
une seule fois ou bien Tjrs. zi
Optimisation pour les smartphones pliables
Quindim
Ja
●
Enregistrement son écran en vidéo
●
Personnalisation poussée de l’interface
n
●
Prise en charge de 5G Qottab
[Source ] : https://www.frandroid.com/android/mises-a-jour-
Be
android/566280_android-q-10-nouveautes
ed
.
am
s'adapte aux écran pliables
oh
●
●
partager leur position géographique avec une application
tierce
M
●
Les permissions restrictives étendues à d'autres Red Velvet Cake
ressources
Des captures d'écran vidéo intégrées nativement
a
●
●
Intégration de 5G
● zi
[Source ] : https://www.frandroid.com/android/mises-a-jour-
android/566280_android-q-10-nouveautes
Ja
n
Be
ed
.
am
●
MAJ Disponible
uniquement pour : Asus,
oh
Google Pixel, OnePlus,
Oppo, Realme, Sharp,
Tecno, TCL, Vivo,
M
Xiaomi ,ZTE et Samsung.
●
Nouvelles changement
a
dans le Design et les
zi ●
thèmes
Amélioration de la
Ja
sécurité : la vie privée des
utilisateurs
n
Be
ed
B anana
C upcake
. D onut
am
E clair
F royo
G ingerbread
oh
H oneycomb
I ce Cream
M
Sandwich
J elly Bean
a
K itKat
L ollipop
M arshmallow
zi
Ja
N ougat
O reo
n
P ie
Q (10)
Be
R (11)
ed
.
am
oh
M
a
zi
Ja
n
Be
Source: http://www.numerama.com/tech/132165-les-versions-dandroid-les-plus-utilisees.html
ed
.
am
oh
M
a
zi
Ja
n
Be
ed
am
oh
M
a
zi
Ja
n
Be
ed
Camera Driver: pilote de appareil de caméra.
Flash Memory Driver: pilote des cartes .
am
Keypad Driver: Pilote pour le clavier
Wifi Driver: Pilote des cartes wifi.
oh
Audio Driver: Pilote des composants audio: micro + haut
parleur.
Power Management: Pilote de gestion de l’alimentation
M
a
zi
Ja
n
Be
ed
Hardware Abstarction Layer (HAL)
Fournit des interfaces standard pour
am
manipuler les composants matériels de l'
appareil au niveau supérieur.
Constitué de plusieurs bibliothèque et des
oh
Framework pour faciliter l’interaction avec le
composant physique: Caméra, Bluetooth,
M
GPS, etc
a
zi
Ja
n
Be
ed
Fournit un ensemble de bibliothèque native à utiliser
par les autre applications:
am
Webkit; utiliser par les navigateurs web.
OpenGL: utiliser pour les application 2D et
oh
accélération matérielle.
Media Framework: utilisé pour les flux audio
M
Sqlite, SSL, etc
a
zi
Ja
n
Be
ed
4. Android Runtime
am
ART : Android Run TIME:
disponible de puis la version
lollipop .
oh
Fonctionne pour les
M
architectures 32 et 64bits
Successeur de la machine
a
virtuelle d'Android DALVIK :
zi
uniquement réservé pour les
Ja
architectures 86 (32bit)
Fichier (Exécutable) : .DEX
n
Be
ed
slider, etc.
- Gestionnaire de ressource: gère toute les ressources d’une
am
application autre que le code source: image, templates et
les chaînes de caractères.
oh
- Gestionnaire de Notification: gérer les notification propre au
système et à chaque application.
M
- Gestionnaire des activités: gère le cycle de vie pour chaque
activité.
a
- Le content provider: gestionnaire d’accès au donnes partagé
zi
avec d’autre application ou depuis une BD
Ja
n
Be
ed
- Android est livré avec un ensemble d'applications de
base: le courrier électronique, la messagerie SMS,
am
calendriers, navigation sur Internet, les contacts.
- Ces applications ont une particularité:
oh
- Elles ne peuvent être désinstaller qu’avec le mode
Root.
M
- Peuvent être invoqué par des applications tiers de
a
utilisateurs : exemple application d’envoi de SMS
zi
Ja
n
Be
ed
développement Logiciel : Contient les outils
nécessaires pour programmer, exécuter, déboguer et
am
Livrer des applications avec Android, il contient :
oh
●
Un environnement de développement
●
Une machine virtuelle Java adaptée : Dalvik / ART
M
a
●
Un environnement de débogage:
● zi
DDMS: Dalvik Debug Monitor Service, qui utilise
Ja
●
ADB : Android Debug Bridge : manipuler le Système
des fichiers du terminal ou de l’émulateur.
n
●
ADM : Android Device Monitor : intégré à Android
Be
ed
Un gestionnaire et créateur des
am
●
émulateurs Android :
AVD : Android Virtual Device
oh
Un environnement de
M
●
construction d’application
a
AAPT : Android Asset Packaging
Tool zi
Ja
●
Tous les API d’Android :
n
Manager,
ed
• La machine virtuelle conçu pour Android
. • C’est une machine virtuelle Java
am
adaptée
oh
• C’est le cœur du système d’Android
• Convient à une architecture :
M
• Possédant peu de RAM
a
• Alimentée par batterie
zi
• Ne possédant pas de mémoire swap
Ja
n
Be
ed
Machine virtuelle Dalvik:
.
• Permet d’exécuter le code obtenu
am
après compilation par le compilateur
DEX.
oh
• Le format généré est .Dex (Dalvik
M
Exécutable)
• Dalvik utilise un compilateur à la volé
a
JIT: Just in TIME zi
Ja
• Chaque processus est lancé dans une
MV Dalvik spécifique
n
Be
ed
.
am
oh
M
Une application : un .dex
+ .manifest =
a
un .apk zi
Ja
n
Be
ed
• Compilation statique: généré un fichier
binaire qui sera exécuté par les processeurs et ne tient
am
pas compte des spécification de chaque machine qui
va exécuté se code. Lang C
oh
• Compilation JIT Just in TIME:
une compilation à la volée: le
M
code sera
compilé lors de l'exécution du programme.
a
Uniquement le code appelé sera compilé. Utilisé par
Dalvik , MVJ zi
Ja
• Compilation AOT: Ahead Of Time:
C’est une compilation anticipé. La compilation est
n
ed
remplacé par une nouvelle MV : nommé ART
(Android Run Time) .
am
• Dalvik: jusqu’à API 20 (Kikat)
• Utilise la compilation JIT
oh
• Exécute pour les systèmes de 32 bits uniquement
• ART: à partir de API 21 (Lollipop)
M
• Utilise la Compilation anticipé AOT.
a
• Exécute sur 32 et 64 bit.
zi
Nb: une application exécutable sur Dalvik peut être
Ja
exécute sur ART mais l’inverse n’est ps possible
• À partir de l’api 24: Nougat: la machine
n
ed
de débogage.
Disponible :
am
http://tools.android.com/download/studio/builds/2-3-0
Taille:1,8 Go (date de visite le 23.10.2016 )
oh
M
a
zi
Ja
n
Be
ed
développement :
Utilisation du sdk manager
am
oh
Création d’une Emulateur :AVD :
Télécharger le Framework et l’api à utiliser
• Créer un appareil mobile Virtuel:
M
• Tester le code Android
• Déboguer l’application en temps réel
a
zi
Ja
n
Be
ed
●
Outil en ligne de commande
am
●
Un client/serveur (et service) dédié au
développement sur Android
oh
●
Server : start-server, kill-server, devices
M
●
Shell : shell, logcat
a
●
Data : install, pull, push
zi
Et bien d'autres :
Ja
●
n
http://developer.android.com/tools/help/ad
Be
b.html
16/09/2021 Mohamed Ben Jazia : Android 59
Fin
Merci pour
ed
.
votre
am
attention
oh
M
Questions !
a
zi
Ja
n
Be