À propos du projet

Android Architecture Samples est une collection d'applications d'exemple Android maintenue par Google qui démontre différentes approches architecturales. Chaque branche du dépôt contient la même application TODO implémentée avec de petites variations, facilitant la comparaison des modèles côte à côte. La branche actuelle présente une configuration moderne : - Interface utilisateur construite avec Jetpack Compose. - Architecture à activité unique utilisant Navigation Compose. - Une couche de présentation avec un écran Compose (View) et un ViewModel par écran ou fonctionnalité. - Interfaces utilisateur réactives utilisant Flow et les coroutines Kotlin pour les travaux asynchrones. - Une couche de données avec un repository et deux sources de données : une base de données locale Room et une source distante factice. - Deux saveurs de produit, mock et prod, destinées à faciliter le développement et les tests. - Une collection de tests unitaires, d'intégration et de bout en bout, y compris des tests partagés pouvant s'exécuter sur un émulateur ou un appareil. - Injection de dépendances avec Hilt. Le projet utilise délibérément une application de liste de tâches car elle est suffisamment simple pour être comprise rapidement, mais assez complexe pour illustrer des décisions de conception difficiles et des scénarios de test. Le README est explicite sur ce que le projet n'est pas : ce n'est pas un modèle (le dépôt Architecture Templates est suggéré à la place), ce n'est pas un exemple d'interface utilisateur ou de Material Design (Compose Samples est suggéré), et ce n'est pas une application de production avec réseau ou authentification (Now in Android est suggéré). Il cible les développeurs intermédiaires et les débutants qui souhaitent une structure d'application testable et maintenable, ainsi que les développeurs avancés à la recherche d'une référence rapide. Pour utiliser un exemple, clonez le dépôt, vérifiez une branche d'exemple et ouvrez le répertoire racine dans Android Studio. Le code est sous licence Apache 2.0, copyright Google.