Issue #711

January 25th, 2026
Articles & Tutorials
Sponsored
Code 10x faster. Tell Firebender to create full screens, ship features, or fix bugs - and watch it do the work for you. It's been battle tested by the best android teams at companies like Tinder, Adobe, and Instacart.
Alex Zhukovich explains how to give descriptive names to Compose preview states instead of index-based default names.
Tezov shows how Koin uses interfaces and qualifiers to inject specific implementations of the same contract in Kotlin.
Sponsored
An Android developer's guide to React Native explores the mental shift from Android. Whether from View/XML or Jetpack Compose, learn how React components map to Android's Activities and Intents, discover Flexbox vs XML layouts, and understand state management. Read the full guide.
Teodor Irkhin and Thorben Janssen advise modelling JPA entities as open mutable classes using compiler plugins, not Kotlin data classes or val.
Eugene Petrenko examines patterns that not only survived but have become fundamental to how we build modern JVM applications.
Eugene Petrenko used 16 AI agents to refactor docs around a single quick-start command, cutting length 39% and improving navigation for both humans and agents.
Shubham Panchal shows how to target Android, iOS, and Desktop (JVM) with platform-specific Text Sentiment Classifier APIs.
Roman Khrupa demonstrates a Compose Canvas sweepGradient animation that produces a tubelight-style neon scan.
Sehaj Kahlon demystifies Kotlin’s Suspicious Indentation warning so you catch newline-terminated statements that look like continuations.
Domen Lanišnik shows how Material 3 SwipeToDismissBox handles swipe-to-dismiss or update interactions in Compose lists.
Stevan Milovanovic writes about building generative, multimodal features on Android without managing backend infrastructure.
Andrew Malitchuk introduces YARC, an Emmet-like DSL plugin that generates Compose UI trees from abbreviations.
Jesse Wilson warns that blocking inside suspend functions breaks coroutines and shows why suspend functions must always suspend rather than block.
Place a sponsored post
We reach out to more than 80k Android developers around the world, every week, through our email newsletter and social media channels. Advertise your Android development related service or product!
Libraries & Code
Yet Another Rapid Compose - build Jetpack Compose layouts effortlessly with an intelligent shorthand generator.
News
Google adds Play Console Save for later so you can hold back selected changes and submit only what is ready for review.
Simon Vergauwen reveals Exposed 1.0 with R2DBC support and a stable API that ensures no breaking changes until the next major version.
Videos & Podcasts
Kaushik Gopal and Iury Souza map AI coding into four paradigms so experienced developers can align tooling choices.
Kotlin 2.3 is packed with nice updates: new language features like the unused return value checker and explicit backing fields, and a lot more.
Jov Mit shows how to handle Deep Links with Navigation 3
Explore the brand new "Agent Skills" feature in the Gemini CLI. If you've been stuffing everything into a massive GEMINI.md file, you're doing it the hard way.
Philipp Lackner shows the core changes of Gradle 9 to KMP projects, so you can migrate your own projects.
Stop using LaunchedEffect for passing an Argument to a ViewModel
Learn how Skills solve the problem of context bloat by using progressive disclosure