Issue #673

May 4th, 2025
Articles & Tutorials
Sponsored
Tired of builds slower than Monday mornings? This Bitrise guide spills the secrets to turbocharging your Android workflow, locking down security, and launching apps smoother than a bug-free pull request. Ready to push code faster and hit green builds?
Nav Singh explains how to replace deprecated ClickableText with LinkAnnotation in Jetpack Compose, enabling more flexible and maintainable in-app link handling.
Ignacio Carrión shares patterns for reliably testing Kotlin coroutines and flows, focusing on controlling coroutine execution in unit tests.
Sponsored
Are you tired of using error tracking tools that do not communicate with backend teams or solve complex issues? Check out this quick video to learn how Embrace can help your entire organization keep a finger on the pulse of app performance and user experience.
Arpit Choudhary explains how Kotlin’s runCatching provides a cleaner, functional alternative to try-catch for handling exceptions.
Abdelraouf Sabri built the OpenInTools plugin to simplify KMM development by enabling quick access to Xcode and other tools directly from IntelliJ IDEA.
Jaewoong Eum explains how to ensure Android SDK stability by using tools like Binary Compatibility Validator and Metalava to track and prevent unintended public API changes.
Nathan Kayumba introduces the Room persistence library as a way to give Android apps local memory, enabling structured data storage and retrieval through a simplified abstraction over SQLite.
Sofien Rahmouni outlines a multi-layered approach to securing Android payment apps, including runtime checks for debugging, root access, and developer options, along with code obfuscation and integrity verification.
Ilya Muradyan introduces Kotlin Notebooks in IntelliJ IDEA 2025.1, highlighting their use for interactive development, rapid prototyping, and seamless code execution within the IDE.
Anton Arhipov provides a step-by-step guide to structuring Ktor projects using Domain-Driven Design principles, demonstrating the approach by building a minimalistic CRM system.
Rahul Ray compares JSON and Proto, recommending Proto for performance-critical apps and JSON for human-readable configurations and public APIs.
Anatolii Frolov warns that using Array in Kotlin data classes can cause equality issues and suggests using List instead for correct comparisons.
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
A simple, elegant, and always-on digital clock
News
Google introduces native support for digital credentials in Android via the Credential Manager’s DigitalCredential API, enabling apps to issue and verify verifiable credentials like IDs and memberships using OpenID standards
Videos & Podcasts
Learn about Android push notification flow using Firebase Cloud Messaging.
Sergio Sastre discusses screenshot testing and test-driven development (TDD) in Android, sharing insights on how visual regression testing can improve UI reliability and developer confidence.
Daniel Atitienei takes you through a productive day in the life of a developer!
JetBrains AI Assistant is built into IntelliJ IDEA to help you write Kotlin stay focused and code faster. In this video, we walk you through how it works and what it can do – from smarter code completion to multi-file edits and context-aware chat.
Philipp Lackner looks at two bad examples of using coroutine dispatchers, the differences between coroutines and threads, Dispatchers.IO & Dispatchers.Default and which one is better for what and why?
Jov Mit's coding livestream with integrated vs. integration tests, doing outside-In TDD on Android, testing in a modularized setup, and more.
In this episode, Code with the Italians and walk through what works, what doesn't, and how to adapt machine-generated logic to real-world chaos.