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

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Kotlin (49,154
Guide (12,610
Mvc (10,154
Mvvm (5,189
Fragment (5,061
Mvp (3,635
Kotlin Android (2,794
Viewmodel (2,402
Retrofit2 (1,890
Livedata (1,592
Dagger2 (1,312