Issue #412

May 3rd, 2020

Articles & Tutorials

link image   A day with Kotlin Strings (

A string is a linear sequence of characters. But it's a lot more complex than that, so Charles Muchene breaks it down for us.

Writing Unit Tests efficiently in Android with Spek (

Rivu Chakraborty writes all about JetBrain's Spek unit testing framework. He covers setup, initializations, and two different DSL styles for writing test cases.

link image   Build and operate Android apps faster with Bitrise (

From Android-specific solutions to full cross-platform support, we aim to streamline your development process through one, easy-to-use service. Whether you work in Kotlin, React Native, or any other framework, Bitrise is the way to go. Sign up for a free trial today!

Refactoring Android Themes with Style (

Ataul Munim looks at themes and styles and how to effectively refactor them.

Debugging Android app launch by setting debug app (

Segun Famisa shows how to set a debug app, so the app is not launched until a debugger is attached.

How to list 3rd Party Dependencies Licenses in your Android app (

John Codeos show you how to implement a method that shows the licenses of the third-party dependencies automatically, using the OSS Licenses plugin made from Google.

Custom Layouts, measuring and WithConstraints in Jetpack Compose (

Compose is similar to Android in terms of how layout measuring works. Jorge Castillo looks at how this works.

R8 Optimization: Lambda Groups (

Jake Wharton continues his series looking at R8 & D8. This time he looks at how R8 reduces the APK size impact and runtime classloading burden at the expense of increasing the method body of the lambda by merging lambdas of the same shape together.

Dagger Party Tricks: Extension Functions (

Extension functions are a powerful feature in Kotlin, but did you know you can use them in Dagger? Zac Sweers shows you how you would use them in this context.

AoG ProTips: Handing Offline Devices (

The smart home API supports multiple ways to indicate that a device is unreachable. Dave Smith explores when it’s appropriate to use each one.

Comparing Kotlin Coroutines with Callbacks and RxJava (

In this blog post, Lukas Lechner shows you code implementing a simple use case with coroutines, callbacks and RxJava so that you can compare them.

Into the Flow: Kotlin cold streams primer (

Bevan Steele looks into Flows and shows how they can handle the basic "cold stream" needs.

AnimatedIcons: Share (

Mark Allison animates a share icon as an Animated Vector Drawable.

Functional Programming in Kotlin - f(1) (

Hari Vignesh starts a new functional programming (FP) series. The outcome of this series is to introduce you to the functional programming paradigm with the examples written in Kotlin and solutions from Android development eco-system

Deep Dive into Activity Results API (

In this article, Wajahat Karim discusses some problems in the traditional onActivityResult() way, and then he teaches about new Activity Results API.

Android MVI architecture with Jetpack & Coroutines/Flow — Part 3 (

In this third article, Pavlos-Petros Tournaris shows how to create different types of UseCases that will be used in our ViewModels.

Let's talk (Tts)Spans in Android Accessibility (

In this blog post, Giorgos Neokleous talks about Spans in Android and how to enrich Spannables to provide a better UX to users with accessibility needs.

Automate Publishing Android Library to Bintray using GitHub Actions 🚀 (

In this article, Shreyas Patil demonstrates the use of GitHub Actions to publish open-source Android Library to Bintray when it is released.

Minimalist Dagger (

Dagger 2 is often considered as too much complex for reasons, this article by Grégory Lureau will try to propose a really simple approach limiting complexity for newcomers.

Android Logging with clickable items (

Merthan Erdem describes a way to make every log in your application have a clickable hyperlink to the exact file location of the log.



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



Senior Android Engineer (Montana or Remote, USA only))

Are you an Android developer who loves the outdoors? Bring your Android skills to onX, where we bring our devotion to the outdoors to work daily with a singular, powerful goal; to inspire others to find their own adventures off the pavement.


Libraries & Code

Kermit 🐸 (

Kermit by Touchlab is a Kotlin Multiplatform centralized logging utility



link image   30 Days of Kotlin (

Google is introducing “30 Days of Kotlin with Google Developers” to improve your understanding of Kotlin and apply it in real projects. They have created specific courses for Android developers at different expertise levels. Register by 7th May 2020, 5 PM IST. This is open to developers based in India only


Videos & Podcasts

link image   Async Android: Brownie Drop (

A playlist for the next drop of video presentations from the Async Android channel. Async Android gathers collections of official developer-created content from some of the amazing members of the Android community.

Android Developers Backstage (

In this episode, Tor, Chet and Romain are joined by Jorim, Adrian and Taran from the Window Manager team.

Fragmented: Composing with Leland (

In this episode, Donn and Kaushik chat with Leland Richardson, a lead contributor to Jetpack Compose.



link image   Android Weekly on Patreon (

We've created a Patreon page! Subscribing to our Android development newsletter will always be the biggest support, but if you want to support us that little bit more, and help us create some cool new features, then have a look here.