-
Notifications
You must be signed in to change notification settings - Fork 8
Home
This project contains the following packages:
-
model
- the weather model -
view
- the views of the app -
repository
- weather data repository components -
data
- contains the datasource of the app (remote web services, database ...) -
util
- util classes & extensions -
di
- Koin dependency injection definitions
The app is composed of 3 views:
-
splash
- the first screen of the app, that loads the last weather or the default weather -
weather
- main screen of the app, displaying the weather of the day and next days for the given location -
detail
- display one weather data day, chosen from weather view
Yes, we have some tests :)
- Unit tests in
test
folder, contains Presenter/ViewModel mock tests - Android instrumented in
androidTest
folder, will be used for Room part
the weather app can work online or offline (see MainApplication
). By default, the app is configured as offline. But you can type the following cities in offline mode:
- Paris
- Toulouse
- London
- Madrid
- Berlin
Follow carefully each exercise and read each step. TODO sections will contain what you will have to do in each part.
The project contains all the Gradle dependencies needed for all exercises.
Checkout the master
branch and synchronize your project to download all needed dependencies.
The project contains the following Git tags:
- START_PART1 (also master branch) - Start for part 1
- START_PART2 - End of part 1 and Start for part 2
- END - End of part 2
- For each step, one tag: STEP_1.0 ... STEP_2.3
Make a new branch from master
for your work. Each exercise has its own Git commit solution.
Migrate our MVP architectured app to MVVM with Android Architecture Components
- 1.0 - Preparing
- 1.1 - First ViewModel & LiveData with Weather Detail View
- 1.2 - ViewModel & Events with the Splash View
- 1.3 - Shared ViewModel between Activity/Fragments, with the Weather View
Make the weather app fully persistent using the Android Architecture Room API