Issue #678

June 8th, 2025
Articles & Tutorials
Sponsored
See how AI models stack up at generating code fixes for Android and iOS crashes. Instabug benchmarks the leading models from OpenAI, Google, Anthropic, and Meta to reveal surprising platform-specific strengths and which models deliver the most accurate solutions for your debugging arsenal.
Alexey Bykov details how regularly updating ExoPlayer led to faster video startup, fewer playback errors, and improved quality, with measurable gains starting from version 1.5.1.
Marcin Moskała summarizes KotlinConf 2025 highlights, including the stable K2 compiler, Compose Multiplatform for iOS, AI tooling via MCP SDK, and major IntelliJ and Gradle improvements.
Stefano Natali showcases how Material 3’s Expressive Design enhances Android UIs with dynamic components like floating toolbars, flexible app bars, and FAB menus.
Kevin Block explains how to integrate Firebase into a Kotlin Multiplatform app by setting up Android and iOS environments and initializing Firebase in shared code.
Serhii Hryshyn recounts two incidents where improper use of MutableStateFlow caused silent failures by preventing emissions, highlighting the importance of using immutable snapshots when updating StateFlow.
Stevan Milovanovic demonstrates how to build an on-device Android app that classifies images, generates captions, and integrates with an LLM—all using local AI models and Compose UI.
Anatolii Frolov advises against using lambdas in Kotlin data class constructors, as they break equality and hashCode() due to each lambda being a distinct object.
Veronica Putri Anggraini shows how to build an XR app using Jetpack Compose for XR, creating spatial UIs with Compose and integrating 3D models via SceneCore and ARCore.
Ignacio Carrión explains how using discrete, framework-agnostic UseCase classes improves maintainability, testability, and reusability in clean architecture projects.
Anil Kumar Beesetti introduces in pale‑blue‑kmp‑core NumberFormatter and CurrencyFormatter for Kotlin Multiplatform, plus a type-safe KmmResult wrapper that preserves success/failure semantics across Android and iOS.
John O’Reilly demonstrates how to build and expose climate data services using the Kotlin MCP SDK within a Kotlin Multiplatform project, enabling integration with tools like Claude Desktop.
sinasamaki demonstrates how to create a reusable Modifier.ribbon in Jetpack Compose to draw a looping, animated ribbon around any composable using polar coordinates and path effects for a layered visual effect.
Ryan Harter encourages developers to “celebrate the code you didn’t write”, emphasizing the value of simple, elegant APIs that reduce complexity and increase flexibility in your codebase.
Annyce Davis highlights that Google I/O 2025 emphasized AI-first experiences across the Android ecosystem, showcasing features like AI Mode in Search, on-device agentic AI, Android XR updates, and tools like Stitch for generating UI from prompts.
This post shows that ConcurrentHashMap.computeIfAbsent is not coroutine-safe, as coroutine suspension inside runBlocking can lead to runtime exceptions by violating synchronization assumptions.
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
TriggerX is a modular, developer-friendly alarm execution library for Android.
A Kotlin Multiplatform (KMP) library for shared logic and common utilities across platforms (Android, iOS).
News
Marcin Moskala is hosting a free live webinar to break down structured concurrency with clear examples — showing both the best practices and the most common pitfalls.
Answers to some of the top Kotlin Multiplatform questions from KotlinConf 2025, covering IDE support, build performance, Compose targets, and improved tooling.
Videos & Podcasts
Philipp Lackner goes over the most relevant news for Android & KMP developers from May 2025.
Jov Mit considers the right way to refactor a legacy Android app.
Philipp Lackner shares impressions from KotlinConf 2025 including interviews with interesting people from the tech community.
Code with the Italians as they go behind the camera with sinasamaki, the creative powerhouse behind some of the slickest motion design on the internet.
Jov Mit considers why you're not confident as an Android developer and shares an easy fix.
Dan Galpin covers part one of the biggest announcements from Google I/O 2025.