Chapitre 1 : PROGRAMMATION MOBILE
ANDROID
1. Types de Développement Mobile
Comparaison des trois approches :
Critère Natif Hybride Web Mobile
Performance Excellente Moyenne Faible
Temps de développement Long Moyen Rapide
Coût de développement Élevé Moyen Faible
Multiplateforme Non (code spécifique) Oui (code unique) Oui (universel)
Accès au matériel Total Partiel (via plugins) Très limité
Distribution Store Oui (Play Store, App Store) Oui Non (navigateur)
Hors-ligne Oui Oui Non (nécessite Internet)
Compétences requises Java/Kotlin, Swift HTML, CSS, HTML, CSS, JavaScript
JavaScript
2. Choix du Type de Développement
Scénario Type Recommandé Raison
Jeux / Applications Natif Meilleures performances graphiques
performantes
Application de gestion interne Hybride Développement rapide,
multiplateforme
Application simple accessible Web Mobile Accès universel, coût minimal
Application grand public Natif ou Hybride Selon budget et besoins
performance
3. Architecture Android - Composants Principaux
Les 6 composants fondamentaux :
Composant Rôle Classe
Activity Écran avec interface utilisateur Activity
Service Tâche en arrière-plan (sans UI) Service
Content Provider Partage de données entre apps ContentProvider
Broadcast Receiver Réponse aux événements système BroadcastReceiver
Fragment Partie modulaire d'interface Fragment
Intent Message système pour communication Intent
4. Détails des Composants Android
Activity (Activité) 📱
Rôle : Écran d'application avec interface graphique
Caractéristiques :
✓ Cycle de vie (création → destruction)
✓ Répond aux événements utilisateur (clic, touche)
✓ Au moins 1 activité par application
✓ Peut contenir plusieurs fragments
Service ⚙️
Rôle : Exécution en arrière-plan
Utilisations :
✓ Mise à jour de données
✓ Musique en fond
✓ Téléchargements
✓ Notifications
Content Provider 📊
Rôle : Partage de données entre applications
Exemples :
✓ Contacts, calendrier, photos
✓ Base de données SQLite
✓ Données GPS/capteurs
Broadcast Receiver 📡
Rôle : Écoute des événements système
Exemples :
✓ Batterie faible
✓ Changement de langue
✓ Appel entrant
✓ Démarrage système
Fragment 🧩
Rôle : Module d'interface réutilisable
✓ Avantage : Combinaison multiple dans une activité
✓ Cycle de vie : Lié à l'activité hôte
Intent 📨
Rôle : Message de communication entre composants
Utilisations :
✓ startActivity() : Lancer une activité
✓ broadcastIntent() : Envoyer un broadcast
✓ startService() : Démarrer un service
5. Écosystème Android
Marché des OS Mobiles :
📊 Android : Leader mondial (≈70-80%)
📱 iOS : Second (≈20-25%)
📉 Autres : Windows Mobile, Symbian (marginal)
Caractéristiques Android 🤖
✓ Type : Open Source
✓ Création : Startup rachetée par Google (2007)
✓ Symbole : Robot vert
✓ Publicité : 5 novembre 2007
Fonctionnalités OS Mobile :
✓ Gestion batterie
✓ Gestion mémoire RAM
✓ Connectivité (WiFi, Bluetooth, 4G/5G)
✓ Stockage (carte SD)
✓ Multitâche
6. Outils de Développement
Type Outils Langages
Natif Android Android Studio, SDK Java, Kotlin
Natif iOS Xcode Swift, Objective-C
Hybride Cordova, Ionic, React Native HTML, CSS, JavaScript
Web Mobile Navigateur mobile HTML5, CSS3, JavaScript
7. Points Clés à Retenir
✅ Natif = Performance max, coût élevé, spécifique plateforme
✅ Hybride = Compromis, code unique, multiplateforme
✅ Web Mobile = Universel, limité, besoin Internet
✅ 6 composants Android : Activity, Service, Content Provider, Broadcast Receiver,
Fragment, Intent
✅ Activity = écran ; Service = arrière-plan ; Intent = communication