-
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
Nested Classes & Enums

Classes can be nested in other classes. Enums provide an elegant notation for a limited set of constant values
Objects

Objects, Singletons & Companion objects
Delegation

A class can implement an interface Base by delegating all of its public members to a specified object
AndroidX
Jetpack & AndroidX

AndroidX is the open-source project that the Android team uses to develop, test, package, version and release libraries within Jetpack
Semantic Version Management

A simple set of rules and requirements that dictate how version numbers are assigned and incremented
Lab-10a AndroidX

Migrate to AndroidX + manage library versions more optimally
Rooms
Rooms

The Room persistence library provides an abstraction layer over SQLite
Rooms in Placemark

Implementation of PlacemarkStoreRoom, which stores placemarks in a SQLite database
Lab-10b Rooms

Introduce a new PlacemarkStore implementation to persist to an SQLite database