Android Architecture

General

Category
Battlefield
Tag
Architecture
License
MIT License
Min SDK
19 (Android 4.4 KitKat)
Registered
May 20, 2017
Favorites
2
Link
https://github.com/binaryroot/AndroidArchitecture
See also
Starwars
u2020
svc
EliteMvp
AndroidVIP

Additional

Language
Kotlin
Version
1.0 (May 22, 2017)
Created
May 19, 2017
Updated
Aug 8, 2017 (Retired)
Owner
Nazar Ivanchuk (binaryroot)
Contributor
Nazar Ivanchuk (binaryroot)
1
Activity
Badge
Generate
Download
Source code

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:

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