Issue #470

June 13th, 2021

Articles & Tutorials

link image   Navigating in Jetpack Compose (

In this post, Jossi Wolf explores the Navigation component’s support for Jetpack Compose and takes a look under the hood!

Jetpack Compose: Navigating to a Detail View (Part III) (

Waseef Akhtar continues his series on Jetpack Compose navigation, showing how to add a detail view that a list view navigates to when clicked on an item.

link image   Struggling to configure ProGuard or R8? (

Configuring ProGuard or R8 can often be complex. Using the right tools such as the ProGuard Playground, which helps you to write -keep rules more efficiently through visualisation, can greatly improve the process. Read Guardsquare’s latest blog post to discover how they leveraged tools and best practices to configure ProGuard for the DuckDuckGo app.

The Story of My First A-ha Moment With Jetpack Compose (

In this article, Adib Faramarz explains how he had his first A-ha moment trying to create a Sudoku app with Jetpack Compose.

Jetpack Compose Animations in Real Time (

Halil Ozercan decided to implement a beautiful animation in Jetpack Compose.

Bluetooth LE for modern Android Development - part 1 (

This post by Erik Hellman is the first in a series where he aims to explain how to use the BLE APIs on Android to their full potential.

Random Musings on the Android 12 Beta 2 (

Mark Murphy examines Beta 2, which has a bit more change in the API surface than you'd expect… and yet still does not have everything that might yet show up in Android 12.

Create Your KMM Library (

In this article, Alex Anisimov provides a brief overview of the most popular Kotlin Multiplatform Mobile libraries and shed some light on what motivated the authors to create them, and hopefully inspire you to contribute yourself.

Gradle Plugin Tutorial for Android (

Bhavesh Misri teaches how to create a Gradle plugin within your existing Android app, or as a standalone project that you can publish and use in any Android project

Multiple back stacks. A deep dive (

Ian Lake's deep dive into handling multiple back stacks using Jetpack Navigation.

Create an application CoroutineScope using Hilt (

In this article, Manuel Vivo shows how to create an application-scoped CoroutineScope using Hilt, and how to inject it as a dependency.

Compose: List / Detail - Testing part 1 (

In this post, Mark Allison explores some testing strategies for Jetpack Compose and discusses how we can design our composables for testability.

Detect Configuration Regressions In An Android Gradle Build (

In this post, Nate Ebel walks you through a bit of a case study into this build monitoring process to quickly catch regressions in the build process.

Run Custom Gradle Task After “build” (

Sam Edwards creates a custom Gradle task, which is a great way to write your own behavior to accomplish this using the Gradle build system.

Learning State & Shared Flows with Unit Tests - Coding with Mohit (

Mohit Sarveiya goes over all the features of Coroutine state flows and shared flows using unit tests.


Place a sponsored post

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



Senior Android Developer (Remote in EMEA)

Komoot is and app that lets you find, plan, and share outdoors adventures. You’ll team up with 4 world class Android engineers and take over full responsibility for the app.You’ll develop diverse features for navigation, routing, social interaction and content visualization.

Android Developer (Remotely within the UK)

At Chip, our mission is to make saving effortless for millions. You will be responsible for writing well-architected and performant Kotlin code to provide the best possible user experience to our savers. We're growing fast and are showing no signs of slowing down. Apply today!


Libraries & Code

link image   SquircleView (

SquircleView is a library which provides you with Squircle views to use for buttons, views, etc.

Keeper (

A Gradle plugin that infers Proguard/R8 keep rules for androidTest sources.

licensee (

Gradle plugin which validates the licenses of your dependency graph match what you expect



link image   Android 12 Beta 2 Update (

Google has released the second Beta of Android 12 for you to try. Beta 2 adds new privacy features like the Privacy Dashboard and continues our work of refining the release.

Accelerate Your App Development with Firebase Extensions (

Google introduces some new Firebase Extensions which allow you to add pre-built and tested functionality with just a few clicks.


Videos & Podcasts

link image   Talking Kotlin: Realm for Kotlin Multiplatform (

In this episode, listen to Nabil Hachicha and Claus Rørbech from the Realm team talk about the Realm Kotlin Multiplatform SDK project

Advanced Collection Operations (

In this episode of Kotlin Standard Library Safari, Sebastian Aigner speaks all about advanced collection functionality!

Essential Skills for Android Developers (

Nate Ebel is dishing out some career advice for Android developers to help understand the essential skills required for Android app development - and to understand which might not actually be essential.

Android Developers Backstage: Security Deposit (

In this episode, Chad and Jeff from the Android Security team join Tor and Romain to talk about… security

Fixing Bugs With TDD In Jetpack Compose (

In this stream, Adam McNeilly takes a look at a bug created in his Jetpack Compose code, writes some tests for it, and fixes the bug.

compileSdkVersion vs. targetSdkVersion - what's the difference? (

In this video, Paulina takes a closer look at two values that are set in the build.gradle file: compileSdkVersion and targetSdkVersion