Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/binaryroot/AndroidArchitecture

Android Architecture using Google guides
https://github.com/binaryroot/AndroidArchitecture

android architecture dagger2 kotlin-android livedata mvc mvp mvvm retrofit2 room

Last synced: 13 days ago
JSON representation

Android Architecture using Google guides

Awesome Lists containing this project

README

        

# Android Architecture Kotlin + Dagger2 + Room + LiveData + Retrofit

Project contributors: [Nazar Ivanchuk](https://goo.gl/1185SB) & [Roman Havran](https://goo.gl/W0NQfP)

### Summary
This sample stands on the principles of [Android Architecture](https://goo.gl/p917KL).

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](https://img.shields.io/badge/Android%20Arsenal-Android--CleanArchitecture-brightgreen.svg?style=flat)](https://android-arsenal.com/details/3/5775)