Awesome Open Source
Awesome Open Source

Android Architecture Kotlin + Dagger2 + Room + LiveData + Retrofit

Project contributors: Nazar Ivanchuk & Roman Havran

Summary

This sample stands on the principles of Android Architecture.

It's based on the MVC sample, splitting the application in four layers:

Diagram

Layers responsibilities

UI Controller (Activities, Fragments & Custom views)

  • Activities & Fragments
  • Observes the ViewModel
  • Keeps the UI up-to-date
  • Forwards user Actions back to the ViewModel

ViewModel

  • Prepares & keeps data for the UI
  • Includes LiveData, Observables etc.
  • Survives configuration changes
  • The gateway for the UI Controller

Repository

  • The complete data model from the App  - Provides simple data modification & retrieval APIs

Data Source

  • Provides local or network sources for data

Maintainability

ViewModel concept makes application more flexible for support

Android Arsenal


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Kotlin (59,098
Android (40,710
Kotlin Android (3,092
Mvvm (2,559
Mvc (2,390
Retrofit2 (1,856
Architecture (1,805
Dagger2 (1,228
Mvp (1,196
Livedata (921
Room (856
Related Projects