Issue #390

December 1st, 2019

Articles & Tutorials

link image   Running Android Instrumented Tests on CI (

In this post, Yang Chen shares his journey of finding the best solution for running Android Emulators on CI for opensource projects, from to GitHub Actions.

Anemic Repositories (

The Jetpack “Guide to App Architecture” suggests that “the ViewModel should be communicating with a Repository”. Gabor Varadi shows why that doesn’t mean that you ALWAYS need a Repository in your code!

link image   $99/yr Subscriptions and more at (

Level up your development skills with Black Friday savings! Grab a full year’s subscription to 3,000+ video tutorials for just $99/year—save over $140! And with book bundles starting at just $99.97, the best investment you can make in your development career is waiting for you.

Brave New Android World with AssistedInject (

Assisted Inject is an interesting feature of dependency injection but looks very weird at a first grasp. Let Łukasz Marczak explain when it could be potentially useful.

Contrasting text and icons over background (

Quite often we’ve needed to display icons or text on top of colored backgrounds or images and we’ve run into contrast problems. Jorge Castillo show how to determine if light or dark is better against a color.

Exploring Jetpack Compose: Container (

In this article, Joe Birch looks at the Container component in Jetpack Compose.

Change your Project Name & Package Name in Android Studio (

John Codeos shows you the steps to change your project name and package name in your Android project!

The State of Native Android Development, November 2019 (

With so much change recently in the Android ecosystem, Vasiliy Zukanov decided to set aside some time to research it. This is his attempt to summarize what’s going on and make some predictions about the future of native development.

Lessons learnt using Coroutines Flow in the Android Dev Summit 2019 app (

This article is about the best practices Manuel Vivo and his team found when using Flow in the Android Dev Summit 2019 app which has just been open-sourced.



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



Lead Android Engineer (Barcelona (Spain))

As the Lead Android Engineer, you will act as a coach for your team in order to help them with their weaknesses and foster their strengths. You will also set their goals and motivate them to achieve these. You will be responsible for the development of a high-quality product.

Android/Kotlin Developer (Remote)

Be part of the most energizing community for developers and get jobs working with the world's leading brands on Android projects. From anywhere.


Libraries & Code

link image   LiquidSwipe (

LiquidSwipe is a viewpager library that can be used to make awesome onboarding designs

MusicPlayer (

Music player module implemented using Clean Architecture, MVVM, LiveData, Room, Koin, Coil, Service, Notification, and ExoPlayer

adssched (

The Android Dev Summit app (adssched) is a fork of the Google I/O app (iosched) and was used as the official conference app for the Android Dev Summit in November 2018, held in Mountain View, California.

FlowBinding (

Kotlin Coroutines Flow binding APIs for Android's platform and unbundled UI widgets, inspired by RxBinding



link image   List of KTX extensions (

Google has published a complete list of all KTX extensions available for use.


Videos & Podcasts

link image   Architecting Android and iOS app features for 2020 (

Inspired by some well-known architecture patterns like MVVM/MVI, Kaushik Gopal set out to come up with an agnostic set of principles that would help developers build features in their app in a robust, safe and testable way.

Kotlin/Native and Multiplatform Development (

This presentation by Vipul Shah introduces you to Kotlin/Native and builds a Kotlin Multiplatform app that runs on both iOS and Android using shared Kotlin code

Coroutines vs. ReactiveX: Handling errors (

Whatever way you're writing asynchronous code, you want to do error handling right. Milos Marinkovic compares Coroutines and ReactiveX in this regard.

Android MVI with Jetpack Compose (

A little intro by Luca Nicoletti on how Jetpack Compose will help use a real MVI approach in the Android world.

Kotlin Not-to-Do List - What we should avoid doing in Kotlin (

Kotlin gives us a lot of possibilities, but with every power comes responsibility. What should we avoid doing in Kotlin? Marcin Moskała presents some examples.

How to build a custom app and not distract users (

Jacek Rondio checks out the latest changes in the Android Auto interface and functionalities



link image   Qualifications (

Mark Allison achieved a degree in a subject unrelated to computer science and then moved into the field later in life. In this non-technical post he explains why he made that choice, and how he feels it hasn't hindered his career in any way.

Getting Only Positive Feedback (

Márton Braun tries to go beyond giving simple, positive feedback and shows how to give constructive comments when someone cares about your opinion enough that they ask you for your thoughts.