ANDROID Course
ANDROID Course
ANDROID Course
DÉVELOPPEMENT MOBILE
Enseignante: Mme Haïfa Chorfi
Plan du cours
DÉVELOPPEMENT MOBILE
Enseignante: Mme. Haïfa Chorfi
Introduction
Pourquoi Android ?
Android laisse le choix du terminal : Lorsque l’on souhaite utiliser iOS,
on est obligé de faire l’acquisition d’un iPhone contrairement à Android qui
permet de choisir le smartphone parmi des dizaines disponibles sur le marché.
Une mémoire extensible : Lors de l’achat d’un appareil sous iOS, il faut
choisir sa capacité de mémoire définitive. De 8 Go à 32 Go, elle est
inextensible. Android fait fi de ce blocage matériel en proposant un port
microSDHC sur les appareils qu’il anime.
Webapp
Application native
Application hybride
Cross-platform
10 Mme. HAIFA CHORFI
10
WebApp
Application mobile exécutable via le navigateur internet via tous les
appareils mobiles quelque soit leur marque et leur système
d'exploitation.
Cette application est développée avec les technologies web
classique, comme HTML5, CSS3 ou javascript.
App.ft.com walgreens.com
11
WebApp
Avantages :
Un seul et unique code pour les différentes plateformes
Coût de développement moins important
Compatible avec tous les navigateurs
Inconvénients :
Non accessible en mode hors connexion (sauf s’il y a une mise
en cache du site)
Ne peut pas accéder aux applications natives du mobile (GPS,
appareil photo…)
Pas adapté aux traitements lourds (réalité augmentée, 3D, etc.)
Difficulté d'intégrer un module de payement pour les services
offerts
12
Application native
Application que l'on télécharge et que l'on installe sur son
Smartphone ou sur sa tablette via des magasins d'applications.
Cette application est développée pour un des systèmes
d'exploitation utilisé par les Smartphones ou tablettes.
Elle est développée avec un langage spécifiques aux différents
systèmes d'exploitation : Java ou Kotlin, pour android, Objective-
C ou Swift pour ios.
13
Application hybride
Mélange d’application native et de Web App, vous bénéficiez des
avantages des applications natives sans développer l’intégralité du
produit dans le langage de chaque plateforme.
Elle combine des éléments HTML5 sous forme de webApp et des
éléments de l'application native.
Le développement d'application hybride repose des plugins comme
Apache Cordova ou Ionic's Capacitor. Le système de plugin permet
aux développeurs d'accéder aux fonctionnalités natives des
plateformes.
14
Application Cross-Platform
Des frameworks multiplateformes fonctionnent pour développer
un code partageable et réutilisable pour différents systèmes
d'exploitation
Beaucoup de gens confondent hybride et multiplateforme: la
seule similitude entre les deux types d'applications est la
« partage du code »
Écrire le code une seule fois et le réutiliser sur plusieurs plates-
formes aide à minimiser les coûts et les efforts de
développement.
15
Comparaison
Type d’application Native Hybride Cross-platform
Code codes distincts code unique avec des code unique avec des
capacités potentielles capacités potentielles
spécifiques à la plate- spécifiques à la plate-
forme forme
16
Comparaison
Type d’application Native Hybride Cross-platform
17
Comparaison
Type d’application Native Hybride Cross-platform
18
19
Qu’est-ce qu’Android ?
20
Versions d’Android
Les versions se succèdent rapidement et les changements qui les
accompagnent sont souvent conséquents en termes de nouvelles
fonctionnalités et d’améliorations
Dernière version 12.0 (publiée le 18 mai 2021)
21
22
Contraintes
Pour vos développements, on doit garder à l'esprit que les
appareils mobiles ont :
Une puissance processeur plus faible
Une RAM limitée
Des capacités de stockage permanent limitées
De petits écrans avec de faibles résolutions
Des coûts élevés de transfert de données
Des taux de transfert plus lents avec une latence élevée
Des connexions réseau moins fiables
Des batteries à autonomie limitée
23
Architecture d’Android
24
Architecture d’Android
Offre les fonctionnalités de la bibliothèque Java
Android Runime standard et la machine virtuelle ART (Android
RunTime, remplaçant Dalvik officiellement depuis la
version 50 en 2014)
25
Architecture d’Android
le courrier électronique, la messagerie SMS, les
calendriers, la navigation sur Internet, les contacts et ...
Applications Les applications fonctionnent à la fois comme des
applications pour les utilisateurs et pour fournir des
fonctionnalités clés auxquelles les développeurs peuvent
accéder depuis leur propre application
26
Développement de l’application
1. Obtention des .class
2. Conversion des .class en .dex (du bytecode en DVM code)
3. Génération de l'apk (Packaging), Android Package file : Les applications
doivent être signées pour être déployées (pas nécessaire en
développement)
4. Téléchargement vers émulateur ou mobile pour l’exécution : il suffit
de redémarrer l’application via Android Studio pour qu’elle se recharge
dans le terminal.
27
Développement de l’application
28
Emulateur
29