Issue #660

February 2nd, 2025
Articles & Tutorials
Sponsored
Visual Studio App Center is retiring, but sadly….you’re not. See how to make the switch to Sentry for all your crash reporting needs.
Joe Birch discusses the new experimental PullToRefreshBox composable in Jetpack Compose, highlighting its improved discoverability, readability, and reduced boilerplate compared to the previous pullRefresh modifier approach.
Zach Klippenstein introduces a technique to add dynamic content padding to Jetpack Compose’s BasicTextField, enhancing user experience by adjusting padding based on scroll position.
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 course!
Uli Bubenheimer demonstrates managing collections of draggable markers in android-maps-compose, focusing on marker state and collection changes.
Jaewoong Eum advises caution when using Kotlin’s runBlocking in Android development, explaining that it can block the main thread and lead to Application Not Responding (ANR) errors, thereby degrading user experience.
Igor Escodro presents a method to integrate a shimmer effect into existing Jetpack Compose codebases with minimal modifications, utilizing a custom Modifier.
Viktor Mykhailiv provides a guide on creating a custom sleep timeline graph in Jetpack Compose, illustrating how to represent various sleep stages such as awake, REM, light, and deep sleep using the Canvas composable and DrawScope API.
Dobri Kostadinov explains Android 13’s READ_MEDIA_IMAGES permission changes and demonstrates using a DialogFragment for image selection.
Android 16 is removing the ability for apps to restrict orientation and resizability at the platform level, and shifting to a consistent model of adaptive apps that seamlessly adjust to different screen sizes and orientations.
The Vertex AI in Firebase SDK lets you access Google’s Gemini Cloud models (like Gemini 1.5 Flash and Gemini 1.5 Pro) and add GenAI capabilities to your Android app.
The Android team's short blog series where they pull back the curtain and introduce you to the passionate people who build your favorite Android development tools.
Ignacio Carrión explores Kotlin’s Immutable Collections library, highlighting its benefits for thread safety, performance, and efficient state management in Jetpack Compose.
Libraries & Code
Flow operators that enable you to create restartable, pausable, or one-shot StateFlow instances, allowing you to customize and control additional behaviors for StateFlow based on your specific use case.
News
New Wear OS features enable ‘standalone’ watches for kids, unlocking new possibilities for Wear OS app developers.
The first beta of Android 16 is now available, which means it's time to open the experience up to both developers and early adopters.
Google is introducing a new way to recognize VPN apps that go above and beyond to protect their users: a "Verified" badge for consumer-facing VPN apps.
Tools
Figma plugin that converts vector graphics directly into Jetpack Compose ImageVector code
Videos & Podcasts
Dave Leeds shows how Arrow's features are helpful for everyone - no FP experience required!
Learn how to set up your Android app to switch to PiP mode with some extra user experiences bonus on top.
Firebase now has SQL. Yes, that's right! You can now choose between NoSQL and SQL when it comes to managing your data.
Learn what Credential Manager and Firebase Authentication are, and how you can combine them to allow users to sign into your Android apps with their Google Accounts with just one tap.
Dive deeper into the different authentication flows that you can have in your Android app when signing up or signing in your users with Sign in with Google.
Learn how to get started with Sign in With Google in your Android app, using Firebase Authentication and Credential Manager.
Philipp Lackner compares all common approaches to dependency injection on Android, highlight advantages and disadvantages and finally give you my recommendation to DI.
Jov Mit discusses fast feedback loops & Composable preview scanner with Sergio Sastre.
Multi-Module KMP: The Ultimate Guide to Resource Sharing
Behavior tests can use DeviceConfigurationOverride, a new testing API to simulate different device configurations to avoid needing multiple emulators to run a full test suite.