Tutorials

Android development tutorials. Bigger content articles that aim to help one achieve or learn something in a guided/step by step pace.

Tutorials

Credential Manager and Passkeys on Android: Passwords Are Dead, Here’s What’s Next

What Is Android Credential Manager? Android Credential Manager is the new unified authentication framework that replaces the aging SmartLock and Autofill APIs. If you’ve been relying on those legacy systems, now’s the time to migrate. Credential Manager gives your users a modern, secure way to authenticate — and it’s simpler for you to implement than […]

, , , , ,
Tutorials

Using MediaPipe LLM Inference API in an Android App

What Is MediaPipe LLM Inference? If you’re building an Android app that needs to run large language models (LLMs) on-device, MediaPipe LLM Inference API is one of the most accessible ways to get there. It handles model loading, quantisation, and hardware acceleration so you can focus on the experience — no cloud dependency, no server

, , , , , ,
Tutorials

Predictive Back Gesture on Android: Migrate Your App Before It Breaks

What Is the Predictive Back Gesture? Android 13 introduced the predictive back gesture — a system-wide feature that lets users preview their navigation destination by long-pressing the back button before fully committing to the action. It’s a powerful UX improvement that gives users confidence in their navigation choices, but it requires your app to handle

, , , , ,
A holographic visualization of a digital stack trace being analyzed and converted into organized code solutions by an AI prism.
Tutorials

AI-Powered Crash Triage: Feeding Stack Traces to LLMs for Faster Fixes

The Stack Trace Triage Problem Every app that ships crashes. Users hit unexpected states, device configurations trigger edge cases, third-party libraries fail in mysterious ways. When a crash report lands in Firebase Crashlytics, you’re looking at a stack trace, maybe some breadcrumbs or custom logs, and you need to decide: Is this a high-priority bug?

, , , , , , ,
Tutorials

Baseline Profiles and Macrobenchmark: Measure and Ship a Faster Android App

Why Your App Feels Slow on First Launch You’ve optimized your layouts, trimmed your dependency graph, and profiled your Compose recompositions. Yet users still report that your app feels sluggish the first time they open it after install or update. The culprit is usually JIT compilation — the Android Runtime compiles your app’s bytecode to

, , , , ,
Tutorials

Compose Multiplatform in 2026: Sharing UI Between Android and iOS

From Shared Logic to Shared UI If you’ve been following the Kotlin Multiplatform story, you’ve probably already shared networking with Ktor in a KMP shared module and persistence with SQLDelight across platforms. The next logical question is: can you share the UI too? With Compose Multiplatform, the answer in 2026 is a confident yes. JetBrains’

, , , , , ,
Tutorials

Running Gemini Nano On-Device: Your First Android AI Feature Without a Server

Why On-Device AI Matters for Android Developers Every AI feature you ship today probably depends on a network call. The user types something, your app hits an API, waits for a response, and displays the result. It works, but it comes with latency, server costs, and the uncomfortable fact that your app is useless without

, , , , ,
A terminal window showing the Claude Code interface performing an automated Android code review on Kotlin files, highlighting critical issues like memory leaks and coroutine safety.
Tutorials

Android Code Review Workflow With Claude Code: Catch Bugs Before Your Teammates Do

The Gap That Claude Code Fills in Code Review Code review is one of the most valuable things a team does — and one of the most time-consuming. Reviewers catch real bugs, but they also spend energy on things that could be automated: spotting forgotten null checks, flagging coroutine scope misuse, noticing that a ViewModel

, , , , ,
Tutorials

Dynamic Theme Your App with Android WallpaperColors API

What Is the WallpaperColors API? Android 8.1 (API 27) introduced the WallpaperColors API, and it remains one of the most underrated tools for building personalized Android experiences. It lets you extract the dominant, secondary, and tertiary colors from your user’s system wallpaper and apply them to your app’s theme in real time. On Android 12+

, , , , ,
Tutorials

Android Keyboard Animation: WindowInsetsAnimation API for Smooth IME Transitions

Why Android Keyboard Animation Matters When your app shows a text input and the soft keyboard slides up, that moment sets the tone for user experience. A jarring jump or a laggy animation feels cheap. A smooth, synchronized transition where your content slides up in perfect sync with the IME (Input Method Editor) feels polished

, , , , , ,
Tutorials

Android Choreographer API: Frame Timing, VSYNC, and Smooth 60fps Rendering

What Is the Choreographer API? The Choreographer API is Android’s internal frame timing system — the heartbeat of smooth animation. Every frame your app draws, the Choreographer orchestrates the timing. It synchronizes with the device’s VSYNC signal (the vertical refresh of your screen), and it exposes a callback mechanism so you can hook into that

, , , , , , , ,
Autumn sunny sunset
Tutorials

Building a Day/Night Sky Gradient System for Android Live Wallpapers

Creating Realistic Sky Gradients That Change With the Sun When you look at a great live wallpaper, what makes it feel alive isn’t just animation — it’s the sky. A static blue-to-orange gradient at the top of your screen feels dead after five minutes. But a sky that actually shifts through dawn blues, golden hours,

, , , , ,
Tutorials

One HTTP Client for Android and iOS: Ktor 3 in a KMP Shared Module

The Networking Problem in KMP Projects Before Kotlin Multiplatform, Android had Retrofit and OkHttp while iOS had URLSession or Alamofire — two completely separate networking stacks, two sets of models to keep in sync, and twice the bugs to chase. KMP solves this at the shared-module level, and Ktor Client is the library built specifically

, , , , , ,
Circuit board representing platform layers
Tutorials

expect and actual: The Mechanism That Makes Kotlin Multiplatform Tick

The Core Problem KMP Has to Solve Kotlin Multiplatform lets you share business logic across Android, iOS, desktop, and web — but each platform still has its own APIs. Android has Log, iOS has NSLog, Android has SharedPreferences, iOS has NSUserDefaults. KMP’s answer to this is a two-keyword mechanism: expect and actual. It’s the single

, , , , ,
Scroll to Top