Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Showcase of multi-modular Android MVVM architectures (Layered Architecture and Clean Architecture) 🏛 to developing clean, testable and scalable Android Apps 📱. MVVM, LiveData, Retrofit, Coroutines, Hilt Dependency Injection, MockK Unit Tests.

License

NotificationsYou must be signed in to change notification settings

davidepanidev/android-multimodule-architecture-concepts

Repository files navigation

KotlinLicense

Android Multimodule Architecture Concepts is a showcase of two MVVM multi-modular concepts (Android Layered Architecture andAndroid Clean Architecture) 🏛 to developing clean, testable and scalable Android Apps 📱

🔎 The architecture proposed consist of 3 different layers:

  • Presentation layer: contains all the Android UI framework components (e.g. Activities, Fragments, ViewModels...) and the related resources (e.g. images, strings...).
  • Domain layer: contains the platform-independent business logic and models.
  • Data layer: contains the repositories, the data sources api implementations and the corresponding api-specific models.

These layers are implemented using 3 separate modules to increase decoupling and separation of concerns. The dependencies between the modules are set so that thedata layer is completely invisible to thepresentation layer and vice versa.

Architecture concepts 🏛

The project hosts each architecture concept in a separate branch (thismain branch only contains an empty template).

🔎 The proposed concepts are:

  • Layered Architecture Concept: the dependency between the modules ispresentation ->domain ->data. The 3 modules are Android modules. The visibility among the modules is shown by the picture below:

  • Clean Architecture Concept: the dependency between the modules ispresentation ->domain <-data. Thepresentation anddata modules are Android modules whereas thedomain module is a Kotlin library being the innermost platform-independent module. The visibility among the modules is shown by the picture below:

Screenshots 📸

The App retrieves data from theCoinGecko API and shows the current most capitalized cryptocurrency (which of course is Bitcoin 😄).

About

Showcase of multi-modular Android MVVM architectures (Layered Architecture and Clean Architecture) 🏛 to developing clean, testable and scalable Android Apps 📱. MVVM, LiveData, Retrofit, Coroutines, Hilt Dependency Injection, MockK Unit Tests.

Topics

Resources

License

Stars

Watchers

Forks

Languages


[8]ページ先頭

©2009-2025 Movatter.jp