This repository wilk talk about applying Clean Architecture for Android developer.
The main principles in clean architecture will not be covered anymore in this article, here will mainly focus on applying clean architecture to building Android Application
Presentation includes Android UIs (Activity, Fragment, View,etc...) and Android ViewModel class. View will display and receive interaction from the user. Communicate with other components through ViewModel
Domain is excute business logic from datalayer and communicate data layer to presentation,Each task is considered a use case. Manager of use cases will be managed in the repository. Entities are defined separately, not in common use
Data will be the place to manage data sources. can be from network, database as well as devices memory
- Dependency Injection (DI): Dagger Hilt
- Database(SQLite - Room) : Room
- Language(Kotlin) : Kotlin
- Executes Asynchronously :Kotlin Coroutines
- Network(Retrofit): Retrofit
- Gradle(Kotlin) : Kotlin DSL
- Testing(JUnit, Espresso,Hilt Testing)
- Image(Glide) : Glide
This is the notes app, which is the basic kind of app. Due to the limited time, the application has only 2 main functions, viewing the list of notes and creating notes, which are stored in Sqlite.
I hope that my knowledge will help everyone, for any problems and exchanges, please contact me via email: [email protected] <3 <3 <3