Introduction au Développement Mobile
Android
Prof. AITOUHANNI Imane
Introduction au développement
mobile
Qu’est-ce qu’une application mobile ?
Une application mobile est un programme conçu pour fonctionner sur des
appareils mobiles (smartphones, tablettes, montres connectées…). Elle
exploite leurs fonctionnalités matérielles (caméra, GPS, capteurs…) et
logicielles pour répondre à des besoins spécifiques.
Contexte et importance :
Plus de 6 milliards d’utilisateurs mobiles dans le monde.
Les applications sont présentes dans tous les domaines : santé,
éducation, transport, finance, e-commerce, etc.
Elles transforment les usages quotidiens et ouvrent de nouvelles
opportunités économiques.
Introduction au développement
mobile
Objectifs du développement mobile :
Créer des solutions adaptées aux petits écrans et à l’usage
tactile.
Garantir performance, sécurité et ergonomie.
Offrir une expérience utilisateur fluide et intuitive.
le développement mobile ne se limite pas aux smartphones
— il s’étend aujourd’hui aux objets connectés, véhicules,
appareils domotiques et systèmes embarqués.
Types d’applications mobiles
Applications
📲
natives
Développées spécifiquement pour un système d’exploitation
(Android, iOS…).
Écrites dans des langages propres à la plateforme (Java/Kotlin
pour Android, Swift/Objective-C pour iOS).
Accès complet aux fonctionnalités matérielles et logicielles du
téléphone.
Exemples : WhatsApp, Snapchat, Spotify
Types d’applications mobiles
Applications web
🌐
mobiles
Applications accessibles depuis un navigateur web mobile.
Développées en HTML, CSS, JavaScript.
Ne nécessitent pas d’installation et sont mises à jour
automatiquement.
Exemples : [Link], Gmail Web
Types d’applications mobiles
🔀
Applications
hybrides
Combinaison des deux approches : développées avec des
technologies web mais empaquetées dans une application native.
Utilisent une WebView pour s’exécuter sur la plateforme.
Développement plus rapide et maintenance simplifiée.
Exemples : Instagram, Uber, Twitter
Types d’applications mobiles
Application Application web Application
Critère
native mobile hybride
Java / Kotlin
HTML, CSS, JS +
(Android)
HTML, CSS, Framework
Langage Swift /
JavaScript (Ionic, React
Objective-C
Native…)
(iOS)
Pas
Depuis un store
d’installation,
Installation (Play Store, App Depuis un store
accès via
Store)
navigateur
Accès aux Complet (GPS,
fonctionnalités caméra, ❌ Limité ✅ Partiel
du téléphone capteurs…)
Performance Excellente Moyenne Bonne
Types d’applications mobiles
Coût & Temps de Plus long et Rapide et peu
Intermédiaire
développement coûteux coûteux
Nécessite une Automatique
Mise à jour via
Mises à jour mise à jour via (mise à jour
store
store côté serveur)
Expérience
Optimale Moyenne Bonne
utilisateur (UX)
Complexe (code Simple (un seul Relativement
Maintenance
par plateforme) code) simple
Types d’applications mobiles
le choix du type d’application dépend des besoins du projet,
des ressources disponibles et des objectifs de performance.
📲 l’application native est la plus performante mais la plus
coûteuse.
🌐 L’application web est idéale pour des projets légers,
accessibles rapidement.
🔀 L’hybride est un compromis entre coût, rapidité et
fonctionnalités.
Écosystème Android
Qu’est-ce qu’Android ?
Android est un système d’exploitation mobile open source basé sur le
noyau Linux, conçu initialement par Android Inc. et acquis par Google
en 2005.
Il permet de faire fonctionner des smartphones, tablettes, montres
connectées, téléviseurs et de nombreux autres appareils intelligents.
Android n’est pas seulement un système d’exploitation, mais un écosystème
complet qui relie développeurs, utilisateurs, constructeurs d’appareils et
services Google.
Écosystème Android
Système d’exploitation (OS) Google Play Store Kit de développement (SDK)
Fournit Plateforme Ensemble d’outils,
l’infrastructure de base officielle de bibliothèques et API
pour exécuter les distribution pour créer des
applications. d’applications. applications Android.
Gère la mémoire, les Plus de 3 Inclut un émulateur, un
processus, la sécurité millions débogueur et des
et l’interaction avec le d’applications exemples de code.
matériel. disponibles, dont
la majorité
gratuites.
Écosystème Android
Communauté et écosystème
Android Studio d’éditeurs
Environnement de Communauté de développeurs
développement intégré très active, forums,
(IDE) officiel bibliothèques open source,
recommandé par Google. mises à jour fréquentes.
Appareils fonctionnant sous Android
Android est un système polyvalent présent sur une grande variété
d’appareils connectés.
Grâce à sa flexibilité et son caractère open source, il s’adapte
à de nombreux environnements matériels :
La diversité des appareils sous Android offre de nombreuses opportunités
aux développeurs, mais implique aussi de penser à l’adaptation des
interfaces (responsive design) et à la compatibilité matérielle.
Appareils fonctionnant sous Android
Smartphones
Objets
connectés
(IoT) et Wear
Appareils OS
fonctionnan
t sous
Android
Android
Tablettes
Auto
tactiles
Android TV
Défis pour le développeur Android
Responsive Design : adapter l’interface utilisateur à différentes
tailles d’écran.
Gestion de l’orientation : portrait / paysage.
Optimisation des performances : applications plus lourdes sur
tablettes.
Compatibilité matérielle : certains capteurs présents sur smartphone
peuvent être absents.
Les tablettes représentent un support
stratégique pour les développeurs Android,
nécessitant une réflexion sur l’ergonomie
et l’adaptabilité des interfaces.
Avantages d’Android
1. Open Source
Android est basé sur un modèle open source : son code source est
librement accessible.
Les développeurs peuvent le modifier, l’adapter ou l’optimiser pour
différents appareils.
Favorise l’innovation et la création de versions personnalisées (ROMs,
2.
surcouches
Gratuitéconstructeur…).
Android est gratuit pour les utilisateurs et les fabricants d’appareils.
Réduction des coûts de développement et de production pour les
entreprises.
Large diffusion sur des appareils de toutes gammes de prix.
Avantages d’Android
3. Flexibilité et portabilité
Fonctionne sur une grande variété d’appareils : smartphones, tablettes,
TV, objets connectés, systèmes embarqués.
Compatible avec différents types de processeurs et de configurations
matérielles.
Très personnalisable pour les développeurs comme pour les constructeurs.
4. Écosystème riche
Google Play Store : plus de 3 millions d’applications disponibles.
Accès à une multitude d’API et de services Google (Maps, Firebase, ML
Kit…).
Communauté mondiale très active et ressources pédagogiques abondantes.
Architecture d’Android
Android repose sur une architecture en couches qui organise les différents
composants du système. Cette architecture garantit la stabilité, la
sécurité et la performance des applications.
1. Noyau Linux (Linux Kernel)
Cœur du système : assure la gestion de la mémoire, des
processus, de la sécurité et des pilotes matériels.
Sert d’interface entre le matériel et les couches
supérieures.
Ex. : gestion de la caméra, du GPS, du Wi-Fi…
Architecture d’Android
englobe toutes les
applications natives d'un
4
smartphone: Camera,
Calculatrice, agenda.....
3 Ensemble des Framework
qui permet de développer
l’application
2b
une machine virtuelle Java adaptée
2a
: Machine Virtuelle Dalvik
1
Noyau Linux : une couche
d'abstraction entre le
matériel
Ensemble des bibliothèques fournissant un accès et le reste de la pile logicielle
19
direct aux ressources du système. pour accéder aux périphériques.
Architecture d’Android
2. Bibliothèques natives (Libraries)
Ensemble de bibliothèques C/C++ qui offrent un accès
direct aux ressources du système.
Fournissent des fonctionnalités de base : base de
données SQLite, moteur graphique, moteur WebKit, etc.
3. ndroid Runtime (ART / Dalvik VM)
Machine virtuelle optimisée pour exécuter les
applications Android.
Gère l’exécution du bytecode Java/Kotlin et
optimise les performances.
Dalvik (ancienne version) a été remplacée par ART
depuis Android 5.0.
Architecture d’Android
4. Framework Android
Ensemble d’API et de services pour développer des
applications.
Fournit des composants réutilisables : gestion des
activités, interface utilisateur, services système,
ressources…
Ex. :[Link] Manager, Content Providers, View
Applications
System.
Couche la plus haute : regroupe toutes les
applications installées par l’utilisateur ou
préinstallées.
Exemples : Téléphone, Contacts, Caméra,
Navigateur.
Langages et outils du
développement Android
1. Langages de programmation
• Pour créer des applications Android performantes, il est essentiel de
connaître les langages de programmation et les outils de développement
officiels utilisés par les développeurs.
Java
Kotlin
Langage historique
Plus moderne, concis
et encore
et sûr.
largement utilisé.
Compatible avec tout
Orienté objet,
le code Java.
stable et bien
Supporté
documenté.
officiellement depuis
2017.
Langages et outils du
développement Android
2. SDK Android (Software Development Kit)
• Ensemble d’outils nécessaires pour développer, compiler et déployer
des applications Android.
API Android pour interagir avec le système.
Bibliothèques pour les fonctionnalités de base.
Émulateur Android pour tester les applications.
adb (Android Debug Bridge) pour la communication avec
les appareils.
Langages et outils du
développement Android
3. Environnements de développement (IDE)
• Ensemble d’outils nécessaires pour développer, compiler et déployer
des applications Android.
Android Studio (officiel, recommandé) :
Basé sur IntelliJ IDEA.
Interface intuitive, outils intégrés (éditeur,
débogueur, émulateur).
Support natif de Kotlin et Java.
Eclipse + ADT (Android Development Tools) :
Ancien IDE, aujourd’hui peu utilisé.
Moins complet qu’Android Studio.
Environnement de développement
Le Kit de développement (SDK) d'Android est un ensemble complet d'outils de
développement des applications.
• Il est composé de plusieurs éléments:
API (interfaces de programmation) ;
exemples de code ;
documentation ;
outils – parmi lesquels un émulateur pour visualiser les applications.
25
Environnement de développement
Besoin matériels
• 4 Go de mémoire RAM,
• Plus de 2 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.
• 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, permettra d'accélérer fortement l'émulation.
26
Environnement de développement
Etape 1 : Installer et configurer l’environnement d’exécution Java
Android studio nécessite l'installation du Java Developpement Kit JDK (et
non JRE)
Téléchargeable via le site suivant:
[Link]
27
Environnement de développement
Etape 2 : Installation d'Android Studio
Télécharger et exécuter le fichier d'installation à partir de ce lien:
[Link]
OpBoCR1rxQcZEAAYASAAEgJkd_D_BwE&gclsrc=[Link]
28
Environnement de développement
Etape 3 : Installation des paquets supplémentaires et des mises à jour
Lorsque l'installation est termine,
démarrer Android studio.
Sur l'écran d'accueil cliquez sur
configure puis SDK manager.
29
Environnement de développement
Etape 3 : Mise à jour et installation des packages de la
plateforme
30
Environnement de développement
Etape 3 : Mise à jour et installation des packages de la plateforme
il faut cocher "Show Package Details",
puis choisir élément par élément.
les éléments suivants sont
indispensables:
• Android SDK Platform
• Sources for android
• Intel x86 Atom_64 System Image
31
Environnement de développement
Etape 3 : Mise à jour et installation des packages de la
plateforme
Installer au moins:
1. 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,
2. Android SDK Platform Tools:
des outils exigés par la plateforme Android, en plus l’outil
adb,
3. Android Emulator
4. Google USB Driver
5. Android auto API Simulator
32
Environnement de développement
Etape 3 : Mise à jour et installation des packages de la plateforme
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é par USB
33
Environnement de développement
Etape 4 : Configuration de l’émulateur
Android Studio vous offre la possibilité de créer votre propre émulateur virtuel.
Pour l'installer il faut aller dans l'onglet AVD Manager et cliquer sur Create Virtual
Device.
Device Manager
34
Environnement de développement
Etape 4 : Configuration de
l’émulateur
35
Etape 4 : Configuration de l’émulateur
Après avoir choisi l’émulateur, vous cliquez sur Next
36
Environnement de développement
Etape 4 : Configuration de l’émulateur
Après avoir terminé le téléchargement vous cliquez sur Done, vous serez
emmenés par la suite à la dernière page pour vérifier la configuration
de votre émulateur.
37
Environnement de développement
Etape 4 : Configuration de l’émulateur
Votre émulateur est maintenant prêt à être utilisé. il est un peu lourd
dans son chargement
et dans l’exécution des applications.
Solution: Utiliser vos smartphones pour exécuter
les applications développées.
38
Environnement de développement
Etape 4 : Configuration de l’émulateur
Pour connecter votre smartphone à l'ordinateur et exécuter vos applications, vous
suivez les étapes suivantes:
Activer l’option « Options pour les développeurs » , ensuite activer l’option de
débogage USB sur votre appareil.
Connecter votre smartphone à l'ordinateur via un câble USB
Installer l'USB Driver qui correspond à la marque de votre smartphone si nécessaire.
Exécuter l’application sur votre smartphone (Logcat)
39
Environnement de développement
• Etape 4 : Configuration de l’émulateur
Dans les paramètres du téléphone -> sélectionnez « A propos du
téléphone » -> appuyez sur « Numéro de Build » sept fois jusqu’à
l'apparition du message.
Message affiché
Inutile, vous êtes déjà un
développeur
40
Environnement de développement
Etape 4 : Configuration de l’émulateur
Dans les paramètres du téléphone -> sélectionnez « Options pour les
développeurs » -> activez l’option de débogage USB.
41
Création d’une première application
Etapes de création d'un nouveau projet
42
Création d’une première
application
Etapes de création d'un nouveau projet
43
Création d’une première
application
Etapes de création d'un nouveau projet
Application c’est le nom qui va apparaitre
name : dans la liste des
applications sur l’appareil et dans le Play Store.
c’est la version Android la plus ancienne sur laquelle
Minimum
l’application peut tourner. Il faut éviter de remonter
required SDK :
trop en arrière, ça réduirait les fonctionnalités
que vous pourriez donner à votre application.
44
Création d’une première
application
Etapes de création d'un nouveau projet
45