Android Application Template

For quick start of creating Android Application

Single Activity

Use fragments to creating screens. Use FlowFragments as containers to separating application into logical parts.

Clean Architecture

Follow the dependency rules for saving clean of your code.

Dependency Injection

Use Dagger 2 for implementation this pattern. You can separate Dagger Components into Subcomponents (for each feature or logical part).

Database

Use Room for local storage.

Http client

Use Retrofit 2 for communication with server.

Navigation

If you want use hard backstack, you can use MultiStack Navigation.

Logs, Toasts, Snackbars, AlertDialogs

Use GoldExtensions for simple using it.

Enjoy!