Kotlin Articles

Kotlin Contracts: Smart Casts, Type Inference, and callsInPlace

A deep dive into Kotlin Contracts, showing how returns() implies and callsInPlace help the compiler recover smart casts, variable initialization, and better type inference.

Kotlin Context Receivers: Legacy Syntax and Context Parameters

(Updated on )
Understand legacy Kotlin context receivers and their replacement, context parameters. Use the examples to read old code and plan migration.

Android Custom Lint Rules: From UAST Trees to Detector Implementation

A practical end-to-end guide to Android custom Lint rules, covering UAST, Detector implementation, packaging, integration, and debugging.

Android On-device LLM Streaming Output: From Tokens to Compose UI

A full-stack architecture for Android on-device LLM streaming output, covering KV Cache memory pressure, Kotlin Flow backpressure, and incremental Compose rendering.

Android DataBinding Two-Way Binding: From ObservableField to StateFlow

A deep dive into Android DataBinding two-way binding, generated binding code, invalidation loops, and the architectural move from ObservableField and LiveData to StateFlow and Compose.

Android BLE End to End: GATT, Scanning, and Long-Lived Connections

A practical guide to Android BLE development, covering the GATT protocol stack, scan power tradeoffs, reconnection, Doze handling, and multi-device long-connection management.

Android Feature Flags and Gradual Rollouts

A practical Android feature flag architecture covering remote config, local cache, hash buckets, staged rollout, kill switches, sticky enrollment, and Firebase tradeoffs.

Android Internationalization: Configuration, Resources, and App Locale

A practical guide to Android internationalization, covering Configuration, ContextWrapper isolation, Android 13 per-app locales, and Crowdin translation pipelines.

Advanced Kotlin Coroutines and Flow: Applications and Internals

Async programming is unavoidable in Android development. This guide explains advanced Kotlin Coroutines and Flow usage, from structured concurrency to reactive streams.

Android Modular Scroll Containers: From ViewTypes to Section Engines

A section-based Android page container architecture using ConcatAdapter, lazy loading, and module-level paging to decouple complex ecommerce screens.