Issue #449

January 17th, 2021

Articles & Tutorials

link image   Nested tests with Junit5 (

Nested tests in Junit5 allows us to group test cases. Jarosław Michalik shows how to do this in presenter tests.

Hilt: custom entry points (

Hilt's annotations support injection only for some basic system classes. What happens when you encounter a system class but you need to inject? Bevan Steele shares how to do this.

link image   Join us at Apollo Day Mobile - Jan 26, 2021! (

Apollo Day is a one day event focused on mobile development using Apollo GraphQL. We’ll start with 2 talks on Android, followed by a panel discussion, and then 2 more talks on iOS. Topics covered include caching, developer experience stories, performance, and more. Register for free here:

Android Kotlin Analytics Made Simple! (

William Gouvea shows a way to wrap your analytics classes into a simple set of classes to make it easier to add or remove libraries.

How to create realistic UI with Jetpack Compose - Part II (

Kruti Kamani starts to create the UI of the Flower app from Dribbble shots and will show how to create this simple UI with Jetpack Compose.

Visual Feedback: Dialogs, Snackbars and Toasts (

Providing visual feedback to the user is very important. In this tutorial by Jemma Slater, you’ll learn about Dialogs, Snackbars, and Toasts.

Avoid backing properties for LiveData and StateFlow (

Danny Preussler shows that by using interfaces or abstract classes you not only get rid of all the duplications in the implementation of a ViewModel, but can focus on the functionality as well.

A Warning Regarding Android App Startup with Multiprocess Apps (

It’s possible to run different components of your Android application in different processes. Dan Lew shows that you should be aware that the new AndroidX App Startup library may not work as you expect it to in this case.

Compose Academy (

The Floating Action Button is a core component in applications that lean into material design. Joe Birch shows how to compose a multi-action FAB.

Migrate from LiveData to StateFlow and SharedFlow (

Alex Zhukovich proposes to replace LiveData with StateFlow and SharedFlow from Kotlin Flow because it solves LiveData issues and gives few additional benefits.

My MutableStateFlow Didn’t Emit! (

Sam Edwards shows why to use immutable data structures with MutableStateFlow to avoid unexpected behavior.

Choose Wisely: 5 Ways To Show A Message In Android (

We have 5 ways how to show a message in Android, but the question is, which tool to use in which case? Vlad Sonkin helps you decide.


Place a sponsored post

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



Android Engineer (London or Remote)

Ctrl Group is looking for an Android engineer to join our team in London, or work remotely. You will be a part of an engineering team that values collaboration and shared ownership of the codebase. With our designers, you will work on features that help patients and clinicians work together.

Senior Android Engineer (Remote)

To support our growing products, we're looking for an experienced Android engineer who has a passion for building great user experiences, pays meticulous attention to details, and believes in software that helps its users.

Senior React Native Engineer (Mobile) (Remote (USA))

You will architect and grow new and existing codebases, give technical input and feedback to Axios’ product and design teams for new features, and help develop the skills of your teammates with industry best practices around testing, accessibility, and documentation.


Libraries & Code

link image   donut (

Donut is an Android library which helps you to easily create beautiful doughnut-like charts.

SpockAdb (

Android Studio plugin Helps you to have full control of your project and device

skelly (

Skelly is a tiny library for displaying skeletons while the content itself is loading. All skeletons are completely synchronized across the whole application no matter how many of them visible on a screen at the moment.

accompanist (

A collection of extension libraries for Jetpack Compose



link image   MAD Skills Kotlin and Jetpack: wrap-up (

Google has wrapped up another series of MAD Skills videos and articles - this time on Kotlin and Jetpack.


Videos & Podcasts

link image   Smart Home app discovery and deep linking (

App discovery and deep linking are two easy-to-implement features to help users discover your Smart Home Actions and smart devices that are compatible with Google Assistant

Kotlin and Jetpack API: Live Q&A (

Welcome to the live Q&A of the Kotlin and Jetpack APIs for MAD Skills series hosted by Android Developer Relations Engineer Chet Haase

Become A Published App Developer In 4.5 Hours (

This series of 20 videos by Rahul Pandey takes you step-by-step to create a simple game app and publish it to the Play store.

Android Fragment Lifecycle in 192 Seconds (

Android Fragment Lifecycle is complicated, and official documentation is even worse. But don’t panic; Vlad Sonkin explains it in an easy way to understand and use it correctly.

Kotlin: MAD Skills (

Google Developer Expert (GDE) for Android Magda Miu shares how you can leverage Kotlin to speed up developments and improve quality.