Issue #397

January 19th, 2020

Articles & Tutorials

link image   Screenshot Testing our Design System on Android (

Jitin Sharma provides an overview of how to do screenshot tests and the open-source libraries that helped along the way.

Stronger Typing for CoroutineScopes (

Rick Busarow describes a cleaner way to access Kotlin Coroutines Dispatcher objects.

link image   White-Label Android Chat Made Easy With Stream (

Learn how easy it is to use Stream's Android Java & Kotlin chat SDK. Build real-time chat for Android, iOS, and web in hours not months. Start a free trial now and try out Stream's chat API, SDK and chat React Components. See why Stream powers the feeds and chat for over 500 million end-users.

My Dagger Story (

Harsh Shandilya shares a story of his ups & downs on a Dagger adventure.

link image   Why the top apps rely on Instabug over Crashlytics (

Crash reporting + Bug reporting + Customizable in-app surveys all in one SDK. Know which line of code caused the crash along with network logs, repro steps, and the session profiler to identify and resolve severe crashes quickly. See more detailed features comparison and try Instabug for free here.

Any, Unit, Nothing and all their friends (

Great piece, by Patxi Bocos, about Kotlins Any, Unit and Nothing. If you're into the subtle differences which makes a great language a great language then this post right for you.

Jetpack Compose Tutorial for Android (

In this Jetpack Compose tutorial, Alex Sullivan teaches how to use the new declarative UI framework being developed by the Android team by creating a cookbook app.

Android Developer Career Paths (

Nate Ebel examines a few general questions like “What languages should I learn?” and “How can I get my name out there?” and then unpack some specific questions to shed light on the different ways in which you might consider building a career as an Android developer, and really just as a developer in general.

How To Use New Material Date Picker for Android (

A short tutorial on MaterialDatePicker by Aneke Peter.

SQLite Triggers (+ Android Room) (

Vasya Drobushkov describes SQLite database change triggers and how well they integrate with Room.

ARCore for Android developers - part 1 (

István Béri introduces you to the tools and methods to use with the ARCore framework, focusing mostly on the Sceneform helper library.

Store grand re-opening: loading Android data with coroutines (

Mike Nakhimovich describes how the Store library was updated in the latest version to current Android development patterns and practices.

Instrumenting Firebase Test Lab (

In this blog post, Py shares a few utilities Square built on top of Firebase Test Lab.

Exploring Jetpack Compose: FlexColumn & FlexRow (

Joe Birch describes how the Compose FlexRow and FlexColumn elements can declare child component weights to depict how they are to be laid out inside of the corresponding parent container

Which is Which: Named Breakpoints (

Have you ever found yourself drowning in breakpoints? Zarah Dominguez shows how to name them to help differentiate each one.

RxJava to Coroutines: end-to-end feature migration (

In this article, Vadims Savjolovs guides you through the end-to-end feature migration from RxJava to coroutines.

Kotlin Multiplatform — MVVM & Clean Architecture (

A KotlinConf presentation sparked Javier Arroyo's curiosity to try the MVVM pattern + LiveData for Android and iOS apps and Clean Architecture on the common shared code.

Kotlin closed classes: how to compose with them (

Coming from Java, Kotlin final classes may seem impractical. Carlo Jelmini shows how Kotlin encourages disciplined use of class inheritance and provides native support for composition with class delegation, which is a good alternative to inheritance.



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



Android Engineer (Remote)

We’re looking for an Android Engineer to help bring new features to our current Android apps as well as create new mobile products in the future. We have a large codebase and focus on building clean code. We’re looking for a fast learner who can contribute from day one. Come join us!

Senior Android Engineer (New York City)

Dubsmash inspires creators by offering fun & easy products that bring joy to the world. Get the unique opportunity to work on an app used by millions of people world wide, working with a small team of passionate engineers who care about code quality, great UX and changing lives - every day!

Senior Android Engineer (Kotlin) @ Mobimeo GmbH (Berlin)

Mobimeo is changing the way cities move. We are a technology company working on simplifying everyday mobility in urban centers. Our Android team develops digital mobility applications using Kotlin involving mapping, routing and live navigation topics.

Android Developer (Cardiff/Remote)

MYPINPAD is the global leader in personal authentication for payment solutions residing on everyday smartphones and tablets. We are looking for a passionate Android Developer that likes working on UI, has an interest in scaling CI/CD and improving Ops flow and likes a challenge.

Senior Android Engineer @ Peloton (New York, New York)

Peloton uses technology and design to bring studio-style workouts into millions of homes globally. We continuously innovate and bring Members socially-connected fitness experiences. Adding a Sr. Android Engineer, experienced with writing code in Kotlin, to our fast-growing team of smart creatives.


Libraries & Code

link image   FlowNav (

Annotation processor that provides better navigation on android multi-modules projects

Ok, Gradle! (

Ok Gradle is an Android Studio plugin for searching artifacts ids of popular Java libraries. If this becomes stable it's a huge timesaver for kicking off projects.

DoubleLift (

Expands and collapses a layout horizontally and vertically sequentially.

edge-to-edge (

Android library for enabling edge-to-edge content and insetting views using simple Kotlin DSL

KotlinMultiPlatform (

Kotlin MultiPlatform App (Android, iOS, JVM & JS). MVVM/MVP - Kotlin MultiPlatform

DispatcherProvider (

This library replaces the usage of Kotlin Coroutines Dispatchers singleton object with reference to an interface.


Videos & Podcasts

link image   How to Test Android Deep Links Using ADB (

In this Android deep linking tutorial, Nate Ebel shows how to test Android deep links using ADB.