androidengineers.Book a session

Start here: PocketChat

PocketChat study guide

articleSelf-paced

Build understanding through one real app

PocketChat is a Compose conversation app and the Android Engineers AI learning assistant. The roadmap explains the engineering; the codelab makes you inspect, change, and verify the same source. You begin with a runnable sample, not an empty project. The goal is to explain why it works and make a tested improvement.

The core journey contains eight lessons with eight practical assignments, this guide, a capstone, and an assessment: 19 units. Four preserved advanced units then explore structured output and tools as design exercises. Those features are not present in the pinned app. Roadmap completion currently counts all 23 units; completing the advanced exercises means producing their design/test evidence, not claiming those integrations exist.

Prerequisites and reproducible setup

Know basic Kotlin, Compose state, coroutines, and HTTP/JSON. PocketCards is useful background, but Firebase is not required. Install Git, Android Studio, JDK 17 and SDK 36. Use API 26+ for the app; automated device evidence was collected on an API 36.1 emulator. Use a dedicated test emulator for instrumented tests: the test runner can uninstall its app and remove that installation's data.

git clone https://github.com/AndroidEngineers/android-ai-cookbook.git
cd android-ai-cookbook
git switch -c learning/pocketchat d259f6b34cb4f2aa5965124446ef815d61a625e9
cd gemini-chat
./gradlew :app:assembleDebug :app:testDebugUnitTest

Open gemini-chat/ in Android Studio. Configure your SDK through its ignored local.properties or ANDROID_HOME; use gradlew.bat on Windows. Initial dependency resolution needs network access. Keep the pinned revision even if main has moved.

Two verification tracks

Without a key, build, inspect the code, run unit tests, and implement the context-policy exercise. With your own Gemini access, enter the key in the debug app's Settings and evaluate live answers. These tracks produce different evidence. Fake responses verify app logic; live requests verify model access and observed answer behavior.

Never put a provider key in the repository or learning log. PocketChat clears debug credentials on backgrounding. The release APK has no direct Gemini transport; an authenticated backend is still future work.

What is implemented

Text streaming, follow-up context, Stop/Retry, saved answers, local history, draft restoration, and a curated Android Engineers resource directory. Room currently stores a serialized library aggregate. Context uses character limits, not exact tokens. Navigation is selected-conversation state with a width-based layout. These are deliberate small-sample tradeoffs to critique, not hidden production features.

Keep a log containing revision, hypothesis, action, expected result, observation, and remaining uncertainty. Allow several focused sessions; time varies with Android experience and provider setup. No timed completion claim is made.

Study guide · Hands-on codelab · Pinned Android source

YOUR LEARNING JOURNEY

0 of 23 available lessons completed

Progress saved in this browser. No account needed.
PocketChat study guide | Gemini Chat for Android with PocketChat | Android Engineers