User Login Use Case
data
result
Songs list Use Case
data
result
User Register Use Case
data
result
User Login Screen has -> 1 Activity + 1 Fragment
User Registeer Screen -> 1 Activity + 1 Fragment
Songs list screen -> 1 Activity + 1 Fragment
Prefer screen by each feature separately
# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
org.gradle.daemon=true
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=trueThe MVP pattern allows separate the presentation layer from the logic, so that everything about how the interface works is separated from how we represent it on screen.
In Android we have a problem arising from the fact that Android activities are closely coupled to both interface and data access mechanisms.
MVP makes views independent from our data source. We divide the application into at least three different layers, which let us test them independently. With MVP we are able to take most of logic out from the activities so that we can test it without using instrumentation tests.
The model
In an application with a good layered architecture, this model would only be the gateway to the domain layer or business logic
Does not include Dagger2 in order to be easier to Padawans to understand the first step for a clean architecture