Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jbarbadillo/clean-arch-android
Sample for simple clean architecture in Android
https://github.com/jbarbadillo/clean-arch-android
Last synced: 6 days ago
JSON representation
Sample for simple clean architecture in Android
- Host: GitHub
- URL: https://github.com/jbarbadillo/clean-arch-android
- Owner: jbarbadillo
- License: mit
- Created: 2018-11-19T18:02:07.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-26T14:28:33.000Z (almost 6 years ago)
- Last Synced: 2025-01-10T00:24:01.899Z (16 days ago)
- Language: Java
- Size: 255 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# clean-arch-android
Sample for simple clean architecture in Android using Presenter, Bussiness and Data layers.
:+1:
## Project Structuture
The project proposes a clean architecture based on Presentation Layer, Bussiness Layer and Data Layer
+ **Presentation Layer**. Takes cares of the View, activities, layouts and calls to bussiness interactors
- presenters
- interfaces with callbacks for the view
- implementation for presenters
- ui: The *view*: just controls the layout, and interacts with the presenter
- activities
- adapters
+ **Bussiness Layer**. provides methods that presentation layer can use, and interfaces that data layer must implement.
- models: data models for holding bussiness information
- interactors: get calls from presenters, and call data layer
- repositories: interfaces for establishing a contract to follow by data implementations
+ **Data Layer**
- api
- repositories implementation
## Android LibrariesIn this project a typicall set of Android libreries is used for saving boilerplate and extra work.
+ [**Dagger**](https://github.com/google/dagger): A fast dependency injector for Android and Java.
+ [**Retrofit**](https://github.com/square/retrofit): Type-safe HTTP client for Android and Java
+ [**GSON**](https://github.com/google/gson): Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.
+ [**Butterknife**](https://github.com/JakeWharton/butterknife): Field and method binding for Android views which uses annotation processing to generate boilerplate code for you.
+ [**RxJava**](https://github.com/ReactiveX/RxJava): RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences.