Issue #677

June 1st, 2025
Articles & Tutorials
Sponsored
What if your mobile app could automatically change itself every time it ships, confusing attackers and rendering their tools useless? We’ll reveal an innovative approach that’s quietly disrupting how mobile apps are defended. It’s not another layer of protection, it’s a complete mindset shift.
Robert Levonyan demonstrates implementing expressive button toggles in Material 3 using Jetpack Compose, showcasing dynamic animations and sizing to enhance user interaction.
Adam Koski shows how to create an animated “marching ants” border effect in Jetpack Compose using custom drawing techniques.
Sponsored
Did you know that 26% of Android apps have active users on more than 1,000 unique device types? Or that 6% of apps have over 50 active versions in production? Check out this free data report from Embrace if you're curious just how complex the mobile environment really is.
Thomas Kioko explains adding localization to a Kotlin Multiplatform project using MokoResources with a modular, presentation-layer approach.
Whether you’re just diving into Kotlin’s concurrency model or levelling up your coroutines game, this cheat sheet will be your go-to tool.
Cenker Aydın outlines how to manage side effects in Jetpack Compose using effect handlers like LaunchedEffect, rememberCoroutineScope, and DisposableEffect to ensure UI responsiveness and resource safety.
Stefano Natali introduces Material 3’s Expressive Design, showcasing new interactive components to enhance UI customization in Jetpack Compose.
Ruben Quadros demonstrates preserving UI state in Compose Multiplatform apps using SavedStateHandle with KotlinX Serialization, ensuring state restoration across process death.
Dhanesh Katre presents a lightweight MVI template leveraging state hoisting in Jetpack Compose to create modular, testable, and preview-friendly UI components.
Alex explores Kotlin 2.2’s new when guards, highlighting their role in improving code clarity with conditional matching.
Nav Singh explores Android 16’s new ProgressStyle for creating real-time, dynamic progress notifications.
Akshay Kalola introduces AndroidX PDF Viewer, a native solution for displaying PDFs in Android apps without third-party libraries.
Mark Murphy highlights that Uri access in Android is often short-lived and urges developers to take steps to ensure reliable long-term access.
Dilipchandar explains how SharedFlow works in Kotlin coroutines with practical examples, focusing on collector timing and emission handling.
Reza stresses keeping Android components free of business logic by delegating to injected, testable classes.
Selen Demir introduces Jetpack Compose’s foundational layout composables—Box, Row, and Column—explaining their core layout roles.
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!
Videos & Podcasts
The keynote from KotlinConf 2025
Everything you need to know about NEW Navigation 3
Jov Mit's livestream recording on introducing and migrating to Navigation3
Philipp Lackner shows how to set up the brand new hot reload feature for Compose Multiplatform projects.