5 dépôts
Concrete Android projects that demonstrate clean architecture with separated domain, data, and presentation layers.
Distinct from Clean Architecture Frameworks: Distinct from Clean Architecture Frameworks: focuses on Android-specific implementations rather than general-purpose libraries or templates.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Android Implementations. Refine with filters or upvote what's useful.
This is a reference implementation of Uncle Bob's clean architecture for Android, structured into distinct domain, data, and presentation layers. The project demonstrates how to organize an Android application around business use cases, keeping domain logic and entities free from framework dependencies. The architecture enforces dependency inversion through layered separation, where inner domain layers define interfaces that outer layers implement. This approach enables repository abstractions for data source switching, presenter-view separation for testable UI logic, and use-case composition
Structuring an Android app into domain, data, and presentation layers following Uncle Bob's clean architecture principles for maintainable and testable code.
This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies. The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations. The codebase covers a broad surface of
Demonstrates a clean architecture implementation for Android with separated domain, data, and presentation layers.
Ce projet est une implémentation de référence de l'architecture Model-View-Presenter pour les applications Android. Il sert d'exemple structurel sur la façon de séparer la logique métier de l'interface utilisateur via un framework basé sur le présentateur. L'implémentation se concentre sur une approche d'architecture propre, utilisant des présentateurs pour servir de médiateur à toute communication entre le modèle de données et la vue. Elle emploie un pattern de vue passive et un découplage basé sur l'interface pour isoler l'interface utilisateur des règles de domaine. L'architecture incorpore une logique de domaine basée sur l'interacteur et une séparation en couches pour réduire le couplage systémique. Cette structure permet des tests unitaires agnostiques à la plateforme, permettant à la logique d'application d'être vérifiée au sein d'une machine virtuelle Java standard sans nécessiter le framework Android ou un appareil physique.
Provides a project structure that separates domain rules and business logic from the Android framework.
BasePopup est une bibliothèque de fenêtres contextuelles Android et un framework de composants UI conçu pour créer des fenêtres flottantes et des superpositions personnalisées au sein des applications Android. Il fournit un ensemble d'éléments réutilisables pour rendre du contenu ciblé et des contrôles temporaires au-dessus de l'écran principal de l'application. La bibliothèque gère la mise en page et l'affichage de ces vues flottantes via un framework personnalisé qui standardise l'apparence et le comportement des menus contextuels. Il implémente spécifiquement la fonctionnalité de fenêtre contextuelle Android pour fournir des options contextuelles sans nécessiter de navigation hors de la page actuelle. Le framework couvre le développement de composants UI via la gestion de fenêtres, le calcul de coordonnées basé sur des vues d'ancrage et l'adaptation dynamique des dimensions. Il gère l'inflation des vues et la gestion des événements pour intégrer ces éléments flottants dans l'interface mobile.
Implements the layout and display management for floating views using Android's PopupWindow mechanism.
This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It enforces a unidirectional data flow where user intents trigger state updates, which are then propagated through reactive streams to ensure consistent and predictable interface rendering. The architecture relies on immutable state objects to represent application data, ensuring that updates are handled as complete replacements rather than partial modifications. By leveraging Kotlin Coroutines and reactive stream primitives, the framework coordinates asynchronous background tasks an
Demonstrates concrete Android implementations of predictable, layered architectures with separated domain and presentation layers.