Issue #461

April 11th, 2021

Articles & Tutorials

SlidingPaneLayout (

Android supports different form factors by design, so foldables are quite easy to deal with. However, Mark Allison examines the new Jetpack library that makes things easier still: SlidingPaneLayout.

link image   39 Challenges of Building Android Apps at Scale (

How are some of the largest Android apps built? The book Building Mobile Apps at Scale helps you overcome the most common challenges. Written by former Uber Android engineer Gergely Orosz, the book is free for a limited time. Grab your copy now.

start("Your Career in Tech"); 🚀 (

Getting starting in the tech industry is a daunting experience. Rebecca Franks shares a few tips that may help you navigate through your new career in tech.

link image   Free Chat & Activity Feed APIs for Qualifying Teams (

The Stream Maker Account provides qualifying teams with full and free access to Stream's Chat and Activity Feed APIs, making them accessible to side projects and new startups. No credit card is required.

Coordinating multiple view visibility with Flow and the combine operator (

Aidan Low discusses how to use Flow and the combine operator to cleanly coordinate user interface elements whose visibilities are each dependent on multiple pieces of view model state

Improving Android DataBinding with Bindables library (

In this post, Jaewoong Eum looks at how to improve usages of DataBinding using the Bindables library.

Scheduling Tasks With Android WorkManager (

In this WorkManager tutorial, Harun Wangereka shows how to schedule different kinds of tasks, test the tasks, as well as debug different tasks.

Noisy Code 🗣 With Kotlin Scopes (

You are going to encounter these scope functions namely let, run, apply, also, within every Kotlin codebase. Chetan Gupta examines how using these often ends up just as a code noise.

ADB commands: Accessibility (

This article by Alex Zhukovich contains information about a few ADB commands that allow us to change accessibility settings on Android devices and test applications more efficiently.

Integration verbosity and good layering (

Jake Wharton convinces library writers to try and package integrations with a changing system into an integration library that’s easy to evolve or throw away.

remember { mutableStateOf() } – A cheat sheet (

The goal of this post by Zach Klippenstein is to pull the pieces of Compose's view state functions apart, show how which parts do what, and how they all fit together.

IntelliJ Live Template that makes my life little easier (

IntelliJ is a great tool for developer productivity. Jarosław Michalik shows how to create custom live templates for an extra speed gain when writing tests.


Place a sponsored post

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



Senior Android Engineer (Portland, OR / San Francisco, CA/ Remote)

Kiva is a 501(c)3 non-profit on a mission to expand financial access to help underserved communities thrive. You’ll be a key member of an established team during an exciting time of growth and innovation.

Humbly Confident Senior Android Developer (Remote)

We build You Need A Budget ("YNAB"), software that genuinely changes people's lives. We are a forgiving and friendly place to work that runs on integrity, fairness, and respect. And we've always been 100% remote. If you're ready for a positive change, we have some big plans for our Android app!


Libraries & Code

Bindables (

Android DataBinding kit for notifying data changes from Model layers to UI layers on MVVM architecture.

CompoSnake (

A simple Snake game implemented using Compose for Desktop

EitherNet (

A pluggable sealed API result type for modeling Retrofit responses.

Scriptum (

A super clean notes app with features like categories, trash, list or text input, notification reminder, color tag, autosave. Uses Dagger, Coroutines, Mockk, ViewModel, Room



link image   Launch New Android Auto Apps to Production! (

Google announced that you can publish your Android Auto navigation, parking, and charging apps to production

Tools to help developers provide a positive user experience (

Google highlights a few free tools that developers can consider to help make user experiences safer for everyone.


Videos & Podcasts

link image    How Dalvik and ART work (

In this video, Paulina teaches how Android Runtime works, what is ART, DALVIK, JIT, and AOT and how Android Runtime evolved over the years to make our apps faster.

MVIKotlin and Decompose with Arkadii Ivanov (

Find out about the Model-View-Intent architecture pattern, learn how Decompose helps write better declarative multiplatform user interfaces with Kotlin, and discover that time travel is possible – at least for debugging.

How to Learn New Technologies (

In this episode, Donn talks about the best way to learn a new technology from the ground up. Want to learn something new? This episode is for you.

Android On Demand Modules (

This course by Amr Yousef walks viewers through adding dynamic feature modules to their application. It starts with the basic setup and evolves to more advanced topics such as navigation and injecting dependencies

Reactive State Management with Jetpack (

Gábor Váradi shows what cases to consider when working with state on Android, how to use state for loading data asynchronously, how we can cut down on potential edge cases to consider, and how a combination of Jetpack components can be used to help us with that.

Android Complexity (

Android development can often feel overwhelming – there’s so, so many things to take care of around a single app. Here’s a brief look by Márton Braun at all the things* that an Android developer would have to consider, do, and test for.



Mobile Apps at Scale: 39 Engineering Challenges (

Gergely Orosz announced the launch of "Building Mobile Apps at Scale: 39 Engineering Challenges." The book is free as a PDF, thanks to fantastic sponsors.