android-base-project
android-base-project copied to clipboard
Android LateralView Base Project
Looking for our latest Base Project in Kotlin ?
https://github.com/LateralView/android-base-project-kotlin
Android Base Project
Base project built using Dagger2 for Dependency Injection and MVC architecture with Repository Pattern. It has several managers classes that encapsulate features that are usually used in a common project, most using inversion control to decouple the implementation.
This project has the most common setttings applied. The main idea is to start any new project cloning this one.
Developed by the LateralView team.
Check our Wiki to learn the Best Practice in Android Development and more.
Included Libraries
-
Dagger2 Compile-time dependency injection framework.
-
Retrofit Networking library that allows developers to easily make request to a server through Annotations.
-
Glide Fast and efficient open source media management and image loading framework.
More...
Useful Managers
Also there is a repository for user management (UserRepository) and another repository for sessions (SessionRepository), which are stored in the shared preferences.
Package Structure
android-base-project/app/src/main/java/co/lateralview/myapp/
└───application
│ │ ...
└───domain
│ └─── model
│ │ │ ...
│ └─── repository
│ └─── implementation
│ └─── interfaces
│ │ ...
└───infraestructure
│ └─── manager
│ │ └─── implementation
│ │ └─── interfaces
│ │ │ ...
│ └─── networking
│ │ └─── implementation
│ │ └─── interfaces
│ │ │ ...
│ └─── pushNotification
│ │ ...
└───ui
└─── activity
│ │ ...
└─── broadcast
│ │ ...
└─── common
│ │ ...
└─── fragment
│ │ ...
└─── util
│ ...
If you are going to develop a big application, we recommend to create one package for each functionality (screen).
Base Project Architectures
There is a branch with the following architectures:
-
MVP + Dagger2: Check develop+MVP branch more
-
[Latest] MVP + Dagger2 + RX: Check develop+MVP+RX branch more
For more information about that check our Wiki
Extra
Here you will find all the documentation related to Android Lateral naming standards, good practices, tips, useful libraries and more!
For any suggestions or if you want to join our team please contact us via [email protected]
Happy codding!