Dev mobile spécifique — Coroutines & Compose avancés
Prérequis : le parcours « Kotlin / Android connecté à Odoo 19 ». Ce cours ne réexplique ni les bases de Kotlin, ni la création d'un projet Android, ni l'appel d'une API Odoo. Il reprend l'application Field Service là où le premier parcours l'a laissée et la conduit au niveau production.
Ce que le premier parcours a posé
Kotlin, data classes, null safety Coroutines : suspend, Dispatchers.IO, launch Compose : @Composable, state, listes MVVM : UI → ViewModel → Repository → API Odoo / Room Offline-first, synchronisation, sécurité, APK/AAB
Ce que ce parcours ajoute
- Concurrence structurée : portées, parallélisme, isolation des échecs, annulation.
- Flow : froid contre chaud,
StateFlowetSharedFlow, opérateurs de transformation. - Tests de l'asynchrone :
runTest,TestDispatcherinjectable, temps virtuel. - État Compose :
UiStateimmuable, composables sans état, effets de bord maîtrisés. - Navigation type-safe : destinations sérialisables, arguments vérifiés à la compilation.
- Performance : recomposition, stabilité, diagnostic.
Fil rouge : la refonte du module « Mes interventions » de l'application Field Service, écran par écran.
500 000,00 Ar
500000.0
MGA
500 000,00 Ar
| Responsable | OdooBot |
|---|---|
| Dernière mise à jour | 27/09/2026 |
| Temps d'achèvement | 18 heures 45 minutes |
| Membres | 1 |
Partager ce cours
Partager le lien
Partager sur les réseaux sociaux
Partager par e-mail
Veuillez s'inscrire afin de partager ce Dev mobile spécifique — Coroutines & Compose avancés par e-mail.
-
Niveau 1 — Socle d'un projet Android moderne3Leçons · 1 h 15 min
-
Aperçu gratuit 10 xp
-
2. Version catalog et Compose BOM10 xp
-
Évaluation — Niveau 1 — Socle d'un projet Android moderne10 xp
-
-
Niveau 2 — Concurrence structurée4Leçons · 2 h
-
3. Portées et parallélisme maîtrisé10 xp
-
4. supervisorScope : isoler les échecs10 xp
-
5. Annulation et CancellationException10 xp
-
Évaluation — Niveau 2 — Concurrence structurée10 xp
-
-
Niveau 3 — Erreurs et contexte d'exécution3Leçons · 1 h 15 min
-
6. try/catch et CoroutineExceptionHandler10 xp
-
7. Dispatchers et choix du contexte10 xp
-
Évaluation — Niveau 3 — Erreurs et contexte d'exécution10 xp
-
-
Niveau 4 — Flow : flux réactifs4Leçons · 2 h 15 min
-
8. Flux froids et flux chauds10 xp
-
9. Opérateurs : debounce, flatMapLatest, flowOn10 xp
-
10. Modéliser la synchronisation Odoo en flux10 xp
-
Évaluation — Niveau 4 — Flow : flux réactifs10 xp
-
-
Niveau 5 — Tester l'asynchrone3Leçons · 1 h 30 min
-
11. runTest, TestScope et temps virtuel10 xp
-
12. Tester un Flow et un ViewModel10 xp
-
Évaluation — Niveau 5 — Tester l'asynchrone10 xp
-
-
Niveau 6 — État et architecture Compose4Leçons · 2 h 15 min
-
13. UiState immuable et ViewModel10 xp
-
14. Composables avec et sans état10 xp
-
15. collectAsStateWithLifecycle10 xp
-
Évaluation — Niveau 6 — État et architecture Compose10 xp
-
-
Niveau 7 — Effets de bord maîtrisés2Leçons · 1 h
-
16. LaunchedEffect, rememberCoroutineScope, DisposableEffect10 xp
-
Évaluation — Niveau 7 — Effets de bord maîtrisés10 xp
-
-
Niveau 8 — Navigation type-safe3Leçons · 1 h 30 min
-
17. Destinations sérialisables et NavHost typé10 xp
-
18. Pile de navigation et retours10 xp
-
Évaluation — Niveau 8 — Navigation type-safe10 xp
-
-
Niveau 9 — Performance et recomposition4Leçons · 2 h 15 min
-
19. remember et derivedStateOf10 xp
-
20. Stabilité : @Immutable et @Stable10 xp
-
21. Diagnostiquer une recomposition excessive10 xp
-
Évaluation — Niveau 9 — Performance et recomposition10 xp
-
-
Niveau 10 — Material 3 et états d'interface2Leçons · 45 min
-
22. Scaffold, thème et états d'écran10 xp
-
Évaluation — Niveau 10 — Material 3 et états d'interface10 xp
-
-
Niveau 11 — Projet : refonte du module Interventions3Leçons · 2 h 45 min
-
23. Le projet de refonte10 xp
-
24. Évaluation et compétence finale10 xp
-
Évaluation — Niveau 11 — Projet : refonte du module Interventions10 xp
-