-
00: Overview
-
Overview
-
Assignment 1
-
Assignment 2
-
-
01: Activities
-
Kotlin Context
-
Android Activities
-
-
02: Adapters
-
Kotlin Fundamentals
-
Android Adapters
-
-
03: Models
-
Kotlin Idioms
-
Android Models
-
-
04: Images
-
Kotlin Deep Dive
-
Images
-
-
05: Maps
-
Kotlin Packages & Control Flow
-
GoogleMap Activity
-
-
06: Persistence
-
Kotlin Classes I
-
Persistence
-
-
07: Layouts
-
Kotlin Classes
-
Layouts
-
-
08: Presenters
-
Kotlin Interfaces & Visibility Modifiers
-
Model View Presenter
-
BaseView / BasePresenter
-
-
09: Location
-
Kotlin Extensions, Data & Sealed Classes
-
Last Known Location
-
Current Location Tracking
- Location Overview
-
-
10: Rooms
-
Kotlin
-
AndroidX
-
Rooms
-
-
11: Firebase
-
Firebase Authentication
-
Firebase Database
-
Firebase Storage
-
Kotlin Interfaces & Visibility Modifiers
Interfaces

Kotlin interfaces largely follow Java 8 conventions
Visibility

Classes, objects, interfaces, constructors, functions, properties and their setters can have visibility modifiers.
Model View Presenter
Model View Presenter

Overview of Model View Controller & Model View Presenter patterns
View/Presenter

Detailed review of conversion of PlacemarkActivity to PlacemarkView & PlacemarkPresenter
Lab-08a MVP I

Refactor Activities to use the Model View Presenter pattern
BaseView / BasePresenter
BaseView BasePresenter

Factor out common MVP features into BaseView/Presenter classes
Lab-08b MVP II

Complete the presenter pattern implementation, introducing BaseView & BasePresenter classes