Skip to content
All projects

Android MAD

Eighteen independent Kotlin and Jetpack Compose apps trace a learning journey from reactive interfaces and navigation to remote services, cloud documents, and local relational persistence.

Mobile development learning collection

Overview

Each level contains an explicitly labelled example, Task 1, and Task 2. These are eighteen separate Gradle projects with a single :app module each, rather than one application with eighteen features. Together they show how the responsibility for state moves from composables into ViewModels, repositories, remote services, and a local database.

Capture provenance & limitations

Screens were captured with ADB from live Android applications. Seventeen apps were rebuilt in disposable copies with separate demo package IDs; Dice & Average uses an existing APK because its current source contains an invalid drawable filename. Fictional data makes the local lists, rating flow, and draft forms concrete. The import manifest records the source fingerprints, build results, exact capture steps, and limitations.

Local database captures include relaunch checks for persisted shopping items and game records. Remote service outcomes are reported as observed: the dog image loads, the cat image does not render, and Number Facts returns an error. Movie search credentials and Firestore configuration were replaced with demonstration placeholders in the build copies. Cloud forms are captured as unsubmitted drafts because a test backend has not been verified.

Six levels of mobile engineering

Select a level, then an app to inspect its implementation and captured behavior.

Compose foundations1 / 3

Compose foundations

Build declarative screens, bind input, and render observable lists.

UI & State Hoisting · Jetpack Compose · Material 3 · remember · mutableStateListOf · LazyColumn

ADB EMULATOR VERIFIED

Guess the Animal

Identify the pictured animal and submit a text answer.

Implementation highlight. A remembered text field feeds a case-insensitive comparison against a string resource, with Toast feedback.

Engineering details & verification

Architecture & evidence

This independent Kotlin application uses Jetpack Compose and Material 3. Its Gradle settings include a single :app module. Relevant implementation files: MainActivity.kt.

Runtime verification

Entered giraffe, submitted the answer, and captured the Toast stating that the answer is correct. The captured app was rebuilt from a source-fingerprint-checked disposable copy using a separate .portfolio package ID. The existing template JUnit test passed. Android instrumentation tests were not run. Build and capture provenance are recorded in the import manifest.

Constraints & follow-up

Answer matching normalizes case but does not trim surrounding whitespace. State is local to composition.

MainActivity.kt

Compose foundations: Example · Guess the Animal. 1 of 18.

  • Kotlin
  • Jetpack Compose
  • Material 3
  • Navigation Compose
  • ViewModel
  • LiveData
  • Retrofit
  • Coroutines
  • Firebase Firestore
  • Room
  • Gradle