1. Introduction
- Vue d'ensemble de la plateforme Android
- Historique des versions, positionnement sur le marché
- Architecture et composants du modèle Android
- Smartphones, tablettes, etc. : panorama des terminaux cibles et de la compatibilité
- Installer un émulateur Android
- Outils et environnement de développement
- Prise en main d'Android Studio et mise en oeuvre du SDK Android
- Vue d'ensemble des frameworks de développement et des librairies
Atelier : Mise en place de l'environnement de développement, découverte des outils de debug
2. Présentation de Kotlin
- Historique et positionnement du langage
- Syntaxe de base
- Les variables et types
- Les conditions et boucles
- Création de fonctions
3. Composants et modèle d'une application Android
- Concepts et principes fondamentaux
- Cycle de vie d'une application
- Le fichier AndroidManifest.xml
- Composants applicatifs et composants d'interaction
- Activités : cycle de vie, changement d'état, sauvegarde, pile d'activités, relation entre activités
- Intents : intents explicites et implicites, naviguer et communiquer avec les intents
- Services, types de services, Android Interface Definition Language (AIDL)
- Content Providers et BroadCast Receivers
- Gérer les permissions
- Créer des tests unitaires
Atelier : Création d'une première application Android, exécution sur l'émulateur et test
4. Gestion des ressources
- Grouper les ressources selon leur type
- Fournir et accéder aux ressources
- Gérer les changements de configuration
Atelier : Création d'une application qui réagit aux changements de configuration
5. Interfaces utilisateurs sous Android
- Retour sur l'ergonomie des applications mobiles et tactiles
- Composants graphiques : layouts, menus, listes…
- Du menu classique à l'App Bar (ou Action Bar)
- Organiser le contenu avec les Layouts
- Utiliser les Views pour créer une interface graphique
- Règles Look and Feel (thèmes, styles, icônes, textes, boutons, etc.)
- Unités de mesure et adaptabilité aux différentes tailles d'écrans
- Gérer les événements utilisateurs (notifications, Toasts, boîtes de dialogue)
- Créer un AppWidget
- Bonnes pratiques de design avec Material Design pour Android
- Utiliser les fragments
- Internationalisation d'une application Android
Atelier : Création d'une application avec une interface graphique, des styles et un thème spécifiques.
6. Gestion des opérations d'arrière-plan
- Vue d'ensemble des opérations de fond
- Gérer les threads et utiliser la classe Handler
- AsyncTask pour une utilisation simplifiée de l'UI thread
- Travailler avec les Services (programmes sans interface)
- Maintenir la réactivité du système et éviter les blocages
Atelier : Utilisation des handlers ou d'AsyncTask pour gérer une barre de progression
7. Persistance des données
- Vue d'ensemble du stockage de données sous Android
- Types et gestion de fichiers
- Créer et travailler avec des bases de données SQLite
- Partager des données entre applications (ContentProvider)
- Utiliser les préférences utilisateurs : attributs, SharedPreferences
Atelier : Mise en oeuvre de stockages multiples et création d'une application avec SQLite
8. Connectivité réseau
- Interagir avec des applications côté serveur
- Protocole HTTP sous Android (requêtes GET et POST)
- Manipuler les services Web (XML, JSON, REST)
- Réduire la consommation de batterie lors du transfert de données
Atelier : Echange de données avec un serveur, exploitation de flux JSON avec un Webservice
9. Publication des applications Android
- Créer un fichier APK (Android Package)
- Gérer les signatures et versions
- Publier son application sur le Play Store
10. Interactions avancées
- Vue d'ensemble du multimédia (son, image, vidéo)
- Classes MediaSession et MediaController
- Utiliser l'appareil photo et la caméra
- Gérer les fonctions de téléphonie (appels, SMS, interaction avec la carte SIM)
- Géolocalisation