Issue #356

April 7th, 2019

Articles & Tutorials

link image   Adding Tools Attributes to your Toolbox (

According to Eric Maxwell, Android Tools Attributes are a critical element of any well designed app that uses Data Binding, a RecyclerView or top level navigation, such as a Navigation Drawer or Bottom Navigation View.

Android Q to the Res-Q! (

Wojciech Dziemianczyk dives into the new RoleManager provided with Android Q.

Kotlin Inline Classes (

In this article, Simon Wirtz shows how inline classes work in Kotlin and when it makes sense to use them.

link image   Find Your Next Android Job With Hired (

Hired is the #1 job marketplace for Android Developers. We use cutting-edge technology to match you with the world’s most innovative companies. Simplify your job search - create 1 profile and unlock thousands of opportunities on Hired.

Using Physics-based Animations in Custom Views (

Rebecca Franks shows how to use physics-based animations in a Custom View implementation for natural looking animations in your app.

Dagger Assisted Injection (

The goal of this post by Fred Porciúncula is to be a quick and straight to the point introduction to the AssistedInject library, to be used along with Dagger 2. He goes through an example to show how it works.

Modularization - Real-life example (

With a clear view from the previous articles on how multi-module apps should be architected, Jeroen Mols dives into a real-life practical example.

Managing exceptions in nested coroutine scopes (

Coroutine scopes are really useful to group together some coroutines and to drive their lifecycle. Fabio Collini shows how we need to pay attention to how to use them when nested scopes are involved.

Locale changes and the AndroidViewModel antipattern (

Jose Alcérreca describes how In a ViewModel, if you’re exposing data coming from resources, you have to take into account that they objects ignore configuration changes such as locale changes.

A Better way to Manage Gradle Build Script (

Birju Vachhani describes a way to clean up your Gradle scripts using the Kotlin DSL.

Optimizing Bytecode by Manipulating Source Code (

This post by Jake Wharton is a follow-up to “The Economics of Generated Code” which argued that spending time optimizing generated code is more worthwhile than the same optimizations done in manually-written code.

Muselee 16: Q Connectivity – Part 1 (

Mark Allison explores how we can overcome some deprecations in Android Q, and look at how we should detect connectivity status.



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



link image   Mobbin - Latest Mobile Design Patterns (

Mobbin is a hand-picked collection of the latest mobile design patterns from apps that reflect the best in design



Senior Android Engineer at BabylonHealth (London)

Looking for a few Android engineers to join our team of 17 to help provide affordable and accessible healthcare to everyone on earth! MVI setup with clean architecture, 50% Kotlin, and a big focus on doing things properly.

Android Engineer @ Over 🎨 💚 🌈 (Remote within Euro time zone)

Join our team and help to unleash the creativity of millions. We have have a large backlog of exciting features including video editing, filters, blend modes, and collaboration tools. Does this sounds like a fit for you? Then please get in touch, we would love to hear more about you!


Libraries & Code

link image   MaterialBanner (

A library that provides an implementation of the banner widget from the Material design.

pulkovo (

Kotlin friendly library to measure elapsed time for methods, code blocks, RxJava chains



link image   Android Q Beta 2 update (

Google has released Android Q Beta 2 and an updated SDK for developers. It includes the latest bug fixes, optimizations, and API updates for Android Q, along with the April 2019 security patches

Android Q feedback: Scoped Storage (

Tell Google your thoughts about the Android Q privacy feature "Scoped Storage". The survey has 7 quick questions and should only take a few minutes.

ML Kit expands into NLP (

Google announced the release of two new features to ML Kit: Language Identification and Smart Reply.


Videos & Podcasts

Effective Java Item# 20 – Prefer interfaces to abstract classes (

In this episode, Donn talks about Item #20 in the Effective Java book (third series) by Joshua Bloch.

Announcing Android Q Beta 2 (

Dan Galpin highlights many of the changes in both the Q beta 1 and 2 releases, including extended support for foldables, faster ShareSheets with updated direct sharing, and high performance features such as Vulkan 1.1