Issue #407

March 29th, 2020

Articles & Tutorials

link image   Unboxing Koin 2.1 (

Arnaud Giuliani shares with you the result of several months of work on Koin 2.1.

App size reduction at Microsoft SwiftKey (

The SwiftKey team take you through their journey of making their Android app smaller, from when they started analyzing the app to the changes and improvements they got.

BackPress handling in Android Fragments, The old and the new! (

Mohammad Reza demonstrates how much simpler and easier the new way of handling back button presses.

link image   Context free Android navigation (

You want a ViewModel without Android code, but some dependencies need an Activity to navigate. Or perhaps you just want to use a class that requires a Context, poisoning code by pulling the Android framework in. Josef Raska shows how to avoid this.

Retrofit cancelling multiple API calls (

Baljeet Singh shows how we can manage the cancellation of our previous API calls before making a new one when using Retrofit.

Android 11: WindowInsets - Part 1 (

Getting Window Insets working correctly can be tricky. With the release of Android 11 DP, there is a new API available for handling Window Insets and they are good! In this short series, Mark Allison looks at these new APIs and see how much easier things have become.

Fixing RecyclerView nested scrolling in opposite direction (

Christophe Beyls writes about embedding vertical scrolling RecyclerViews in a ViewPager2 control and keeping both horizontal and vertical gestures functional.

A smarter SharedPreferences with Kotlin (

Nick Rose provides a simple tip for using Kotlin to improve how you use SharedPrefences on Android.

Fast Lane to Coroutines (

Bhoomi Shah writes an in-depth overview of everything Coroutines.

Introducing Firebase for Game Developers (

Playlist of a Firebase announcement and presentations from the Google Games Dev Summit.

Introducing the Activity Result APIs (

In this post, Adam Bennett runs through the basics of the new Activity Result APIs, how you can create your own contracts, and how this allows us to abstract away even more responsibilities from your UI.

Delegated properties in Kotlin (

In this post you'll learn how "by lazy" in Kotlin works internally.

A cautionary tale on Android: do not call System.exit() (

In this post by Carlos Mota you'll learn why you should call finish instead of System.exit(). Nice system insights.

Name Mangling in Kotlin (

This post by Nicola Corti will teach you why Kotlin is applying name mangling on inline classes. So if you're into debugging forensics and Java interop then this post is a must read.

Android GitHub Actions Setup (

GitHub Actions is the (not so new) hotness in workflow automation. This tutorial by António Valente walks you through some basic configuration on how to run some lint checks and tests.

Android Components Architecture in a Modular World (

In this post Madalin Valceleanu walks you through a great collection of architecture best practices.



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



Senior Android Engineer (Montana, USA or Remote (No Sponsorship)

Are you an Android developer who loves the outdoors? If you’re passionate about writing great software, love playing outside, believe in protecting access to public lands and want to dominate the off-pavement mobile GPS market, then come join onX!


Libraries & Code

link image   sunflower (

A gardening app illustrating Android development best practices with Android Jetpack.

minimise (

Minimise app built using kotlin multiplatform for Android & iOS. It's purposeful is to help us think more about the purchases we make and rediscover the things that we already own.

Kotlin Date Range (

Implementation of rangeTo operator for LocalDate and Date in Kotlin.

MarvelHeroes (

A sample Marvel heroes application based on MVVM (ViewModel, Coroutines, LiveData, Room, Repository, Koin) architecture.



link image   Google for Games Developer Summit March 2020 (

All the info from the Google for Games Developer Summit.

Introducing dual-screen layouts for Android (

Microsoft released a preview of its first dual-screen layout control for Java and Kotlin developers. The new control and associated helpers will enable you to build dynamic and responsive apps that take advantage of the Microsoft Surface Duo and its two screens.

Firebase Kotlin Extensions are out of Beta! (

Google announces that Firebase KTX libraries are out of Beta and recommended for all Firebase developers using Kotlin in their Android apps!


Videos & Podcasts

link image   Assembling your Jetpack (

Tiem Song, Developer Programs Engineer on the Android DevRel team, goes over the variety of tools and libraries that Jetpack has to offer to make Android development easier than ever before

User engagement for the Google Assistant (

Measure an action success is measuring how effective the action is at bringing users back, presented by Jessica Dene Earley-Cha