Issue #670

April 13th, 2025
Articles & Tutorials
Sponsored
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!
HyunWoo Lee explains Kotlin’s by keyword for delegation, covering standard delegates like lazy, observable, vetoable, and notNull, and demonstrates creating custom delegates by implementing getValue and setValue functions.
Prateek Batra shows how to enable smoother media playback in ExoPlayer by preloading content using new Media3 tools.
henni99 introduces WriteBuddy, an open-source Jetpack Compose tool that enhances Android note-taking with features like movable sticky notes and interactive tools such as a laser pointer and tape for dynamic annotations.
Amanda Hinchman shows how to debug Kotlin coroutines in IntelliJ and Android Studio using logging, VM options, and built-in GUI tools.
Dinoy Raj explains how to design adaptive and themed Android app icons using layered vectors and a monochrome layer for Material You support.
Enrique López-Mañas explores the impact of random number generation methods on Monte Carlo simulations in Kotlin, demonstrating how using separate versus shared random generators can significantly alter long-term portfolio performance outcomes.
Ioannis Anifantakis compares runCatching and try-catch in Kotlin, showing how runCatching enables cleaner and more consistent error handling.
Jolanda Verhoef demonstrates how to create a responsive camera UI in Jetpack Compose that smoothly transitions to tabletop mode on foldable devices using adaptive APIs, hinge-aware layout rulers, and the new animateBounds modifier.
Google outlines best practices for enhancing user trust on Google Play by minimizing data access, promoting the use of Android Photo Picker over broad media permissions, and encouraging clear in-app explanations for media access requests.
Thomas Künneth offers a checklist for optimizing the AndroidManifest.xml in Compose Multiplatform projects to improve compatibility, appearance, and user experience.
Marco Gomiero details his debugging process for a crash after updating to AGP 8.7, ultimately tracing the issue to R8 removing delegated classes used in kotlin-datetime’s DateTimeFormat list.
Ignacio Carrión shares strategies for optimizing Jetpack Compose performance by minimizing recompositions, using stable data, hoisting CompositionLocals, and leveraging profiling tools.
Ignacio Carrión advocates for using composition over inheritance in Kotlin to enhance flexibility, reduce coupling, and avoid issues like the diamond problem, using examples like UI component design and delegation.
Andrzej Zabost explains how the Android Gradle Plugin now prevents .kotlin_module file collisions, enabling cleaner module names in multi-module projects without risking build failures.
Libraries & Code
Write smarter, smoother: A Compose-based handwriting assistant ✍️
News
JetBrains introduces kotlinx.fuzz, a Kotlin-specific fuzz testing framework that uncovers edge cases and bugs by generating random inputs, enhancing reliability in Kotlin libraries.
Alejandro Serrano Mena announces that Kotlin 2.2.0 introduces context parameters in Beta as a replacement for context receivers, with migration tools in IntelliJ IDEA 2025.1 and full deprecation of context receivers planned for version 2.3. 
Google introduces Gemini in Android Studio for businesses, offering enhanced privacy, security, and management features—including data governance, IP indemnification, and codebase-aware assistance—through Gemini Code Assist Standard and Enterprise subscriptions.
Videos & Podcasts
Jov Mit's livestream coding session looking at: Animations In Compose, Transitions, Custom Layouts, Work Manager and Circuit (Compose-Driven Architecture).
Philipp Lackner compares the freelance route with becoming an employee in four categories: Earnings potential, security, freedom and skill development.
Daniel Atitienei guides readers through a personal setup, highlighting how time is spent and showcasing new accessories that make the room feel more homey.
The episode covers recent Kotlin and Android news, updates to the Kotlin Roadmap, new experimental Atomic types and UUID changes in the standard library, and the promotion of Clock and Instant from kotlinx.datetime.
Gemini in Android Studio is ready for work!
In this month's Firebase Release Notes video, dive into Firebase's streaming callables.
Tor Norbye, Chet Haase, Romain Guy, Theresa Khuu, Naheed Vora take a deep dive backstage and discuss what’s new in the Android safety space.
Specials
Kaushik Gopal reflects on a decade of hosting the Fragmented podcast, highlighting how listener feedback, personal learning, and connections within the Android community continue to motivate him, especially as the show transitions to a seasonal format following co-host Donn Felker’s departure.
Events
KotlinConf 2025, happening May 21–23, is the must-attend event for Kotlin developers, featuring hands-on workshops and 100+ talks on Multiplatform, Compose, coroutines, Ktor, Spring, functional programming, and more. Learn from experts at JetBrains, Google, AWS, and beyond—don’t miss this chance to level up your Kotlin skills and connect with the global community!