Issue #486

October 3rd, 2021

Articles & Tutorials

All About Opt-In Annotations (

Márton Braun documents everything you’d ever want to know about opt-in annotations, and more.

link image   Speed Debugging with Network Request Breadcrumbs (

Are failed or slow network requests causing errors in your Android apps? Gain visibility into the network requests the app made in the run up to the error so you can quickly resolve any errors and minimize the impact on user experience. Learn how.

Measure, measure, measure (

Ralf Wondratschek shares a journey about how to measure build times for Android

link image   Keep your application performant & users happy (

Slow applications frustrate users, which leads to bad reviews, or customers swiping left to the competition. We wrote about the 4 metrics every mobile developer should care about. Learn more. (New users get 1 month free using code ANDROIDWEEKLY.)


Jetpack Compose Side-Effects III— rememberUpdatedState (

In this third post of the series, Udit Verma looks at rememberUpdatedState which is another API related to side-effects, although it does not start a new side-effect like the ones we’ve seen before

Compose Destinations: a simpler, safer way to navigate in Jetpack Compose (

Rafael Costa introduces Compose Destinations — a code-generating library that tries to improve navigation in this new Jetpack Compose world.

How to Share Composable as Bitmap (

Vipul Thawre shares a way to capture a Composable as a Bitmap.

Exception handling in Kotlin Coroutines (

Marcin Moskała wrote this article to help you understand how exceptions propagate from child to parent in basic builders, and how they can be stopped.

Repository Pattern with Jetpack Compose (

In this tutorial, Pablo Gonzalez Alonso teaches how to combine Jetpack Compose and the repository pattern, making your Android code easier to read and more maintainable.

Optical character recognition with TensorFlow Lite (

This article shows you how to use TensorFlow Lite to extract text from images on Android devices.

Speed up your build: Non-transitive R files (

This post by Paul Blundell explains how to implement and build your app with non-transitive R files to make it incrementally faster and your AAB/APK’s smaller.


Place a sponsored post

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



Senior Android / Kotlin Developer (Remote)

100% Remote We are hiring Senior Android / Kotlin Developers. Work from anywhere for the world's leading brands and get supported to do more of what you love. Join the most energizing community for remote developers.

Android Engineer (Remote - EU, EEA, Switzerland & UK)

We are Memory, makers of Timely: The AI-assisted time tracking solution. As an Android Engineer you’ll work in cross functional teams to shape, implement and deliver new features to our Android apps. Our codebase is fully Kotlin with UIs mostly using Jetpack Compose. Come join us!

Junior, Senior, Lead iOS Android & Eng. Managers (New York City, Chicago, D.C., Richmond)

We're a Bank/FinTech that reaches millions of consumers every day. We're mobile first and have 200+ native mobile devs. We use Kotlin and Coroutines to build our app with the latest and greatest from Google. We're looking to hire 40+ devs & managers of all levels.


Libraries & Code

link image   SplitButton (

A dual-function menu button that offers a default action as well as the possibility of choosing a different action by selecting from a set of alternatives.

compose-destinations (

Small code generating library for safe Jetpack Compose navigation with no boilerplate

JetCapture (

Sample app for Generate JPEG image for Compose View

contactstore (

Contact Store is a modern contacts Android API written in Kotlin. It utilises Coroutine's Flow to notify the developer for updates happening to the Contacts database.

ComposePreferences (

Compose Preferences is a library which makes it easy to add preference functionality to your Compose app



link image   Android Dev Summit 2021 (

The AndroidDevSummit is back! Join on October 27-28 to hear about the latest updates in Android development directly from the Android team, and connect with Android developers around the world.

Answering your top questions on Android Game Development Kit (

Android Game Development Kit (AGDK) was released in July, and Google has collected some top questions from developers - ranging from AGDK libraries and tools, optimizing memory in Android, and implementing graphics.


Videos & Podcasts

link image   Kotlin Tips: Collections (

In this episode Kate Petrova shows 3 tips that will help you work with Kotlin Collections

Ranges and Progressions in Kotlin (

In this video tutorial by Bhavna Thacker, learn about Ranges and Progressions in Kotlin.

How to validate app Analytics implementation using Firebase Debug View (

In this video, you will learn how to validate and debug your Android app Analytics implementation and events using Firebase built-in Debug View.

Ryan Kay: Teaching Yourself Programming Effectively (

Ryan Kay explains how he managed to teach himself complex programming topics and became a teacher who thousands of people go to for advice.

Idiomatic Kotlin: Solving Advent of Code Puzzles and Traversing Trees (

In the seventh episode of Idiomatic Kotlin’s #AdventOfCode series, take look at numerous Kotlin techniques while solving code puzzles.

Android 12 - S stands for System UI (

In this episode, Chet, Romain and Tor have a chat with Selim, Vadim and Lucas from the Android system UI team, discussing many of the new features in Android 12's user interface.

How To Truly Master A Data Structures & Algorithms Problem (

Rahul Pandey considers to what extent should you "memorize" solutions to coding problems in technical interviews.

Color contrast - Accessibility on Android (

In this episode, learn how implementing proper color contrast for elements in your application is crucial to providing a good experience for all users.

Introduction to Paging (

TJ Dahunsi introduces Paging by integrating the library into the data layer of an existing app.