Issue #438

November 1st, 2020

Articles & Tutorials

link image   In-app Updates: be prepared for the critical-bug-case (

Bevan Steele shows how to build an "emergency" update mechanism that you can trigger using the In-app Update library.

DayNight — Applying dark mode without recreating your app (

Jamshid Mamatkulov shares an example of how to allow your app to switch between light and dark mode without restarting the app.

Coroutines on Android Made Simple (

Federico Puy provides a clear and straightforward guide to get on board with the latest concurrency design pattern, Kotlin Coroutines.

Fewer crashes and more stability with Kotlin (

Florina Muntenescu shares a couple of the ways Kotlin improved the stability of some apps but also looks at the results of some Google Play store stats and see if there’s a correlation between using Kotlin and the number of crashes.

Dagger 2 in Android Dynamic Multimodule project (

This article by Lukáš Sztefek focuses on the approach based on the dynamic-feature modules, where the feature module depends on the main application module and not vice versa

Automate dependencies upgrades with Releases Hub (

Maxi Rosson shares a way to automatically keep your Gradle project dependencies up to date.

Making Android UI testing enjoyable (

In this post, Rafa Vázquez shares some of the work he's been doing to make UI testing less painful!

Exploring Jetpack Compose: @Preview annotation (

The ability to Preview Jetpack Compose composables within Android Studio is possibly one of Joe Birch's favorite things about this new way of building apps.

Material Motion: Container Transform (

The latest Material Design Components introduced Material Transitions and Motion. In this series, Mark Allison looks at the different transitions, and explore how and, perhaps more importantly, when to use them.

Kotlin Coroutines Exception Handling Cheat Sheet (

Lukas Lechner has created a cheat sheet that could be helpful for implementing appropriate exception handling in coroutine-based code.

Android library development - Getting started (

Jeroen Mols starts a mini-series covering the differences between SDK and App development and explores some interesting challenges around SDK modularization and transitive dependencies.

Proto DataStore Android: Is It Worth It? (

Jetpack DataStore is a new way of storing data in Android, and today Vlad Sonkin takes a look at the Proto DataStore with a typical example.

Migrating the deprecated Kotlin Android Extensions compiler plugin (

JetBrains deprecated Kotlin Android Extensions compiler plugin, so Ahmad El-Melegy checks out a good alternative: Android View Binding.

Leak detection: Android Studio vs LeakCanary (

Py digs into code to figure out why sometimes LeakCanary shows memory leaks where Android Studio does not.

KMM exploration (

Jamie McDonald writes about his experiment with KMM to write Kotlin code to run on both Android and iOS.

Netflix Android and iOS Studio Apps in Kotlin (

David Henry & Mel Yahya write about using Kotlin Multiplatform for platform agnostic business logic in Kotlin and compiling to a Kotlin library for Android and a native Universal Framework for iOS via Kotlin/Native.


Place a sponsored post

link image   Place a sponsored post & reach over 66k Android devs (



Senior Android Engineer at onX (Montana or Remote, USA only)

As a Senior Android Engineer, you will work on a talented cross-platform team to develop user-facing features using the latest mapping and Android technologies. At onX we bring our devotion to the outdoors to work daily with a singular, powerful goal; to awaken the adventurer inside everyone.


Libraries & Code

releases-hub-gradle-plugin (

Gradle Plugin to automatically upgrade your gradle project dependencies and send a GitHub pull request with the changes.



link image   Helpful product updates from Firebase Summit 2020 (

Francis Ma shares some of the new features coming to FIrebase.

kotlinx.coroutines 1.4.0: Introducing StateFlow and SharedFlow (

Jetbrains announced the release of version 1.4.0 of the Kotlin Coroutines library. The highlights of the release are StateFlow and SharedFlow, which are being promoted to stable API


Videos & Podcasts

link image   Hilt the DI Ground Running (

Moyinoluwa Adeyemi teaches about the concept of Dependency Injection - first without libraries, and then with Hilt. You’ll learn how to incorporate Hilt into a new app and how to migrate an existing app.

Migrating from LiveData to Coroutines and Flow (

Jossi Wolf's presentation will help you tackle your migration from LiveData to Coroutines and Flow and improve your codebase.

DevFest South Africa - No Play Services? No Worries! (

What if you are building apps for a device that does not implement the Play Services. Julien Salvi shares a glimpse of the tools you can use to build your Android applications without the Play Services such as OpenStreetMap, OpenPush, or alternative ways to deploy an APK

Dependency Injection: Comparing Dagger, Koin and Hilt (

Hilt is the new kid on the dependency injection block. How does this compare to Dagger, Manual dependency injection, and Koin? Maia Grotepass' presentation will help you decide!

Breaking down destructuring declarations (

In this video, Florina discusses the use of Kotlin’s destructuring declarations, how to implement it in your own classes, and much more!

Android Developers Backstage: Paging3 (

Romain and Chet talked with Dustin Lam and Chris Craik from the Toolkit team about Paging3.

Assistant on Air - Games season (

Assistant on Air is all about game development. Hear from game creators who recently built some fun and creative Assistant games for smart displays. Learn about the opportunities on this new gaming platform, the game design process, and technical best practices to delight players in this quickly expanding market.

Firebase Summit 2020 (

Playlist for Firebase Summit 2020, a two-day virtual event packed with product updates, technical talks, demos, and more.