Issue #428

August 23rd, 2020

Articles & Tutorials

link image   Kotlin Flow Retry Operator with Exponential Backoff Delay (

In this tutorial, Amit Shekhar teaches about the Kotlin Flow retry and retryWhen operators and how to retry the task with exponential backoff delay using it.

Fragments: Rebuilding the Internals (

Ian Lake describes some of the most significant restructuring of the internals of FragmentManager available in Fragment 1.3.0-alpha08. This release swaps out much of the logic that used to live directly in FragmentManager with smaller, testable, and maintainable (internal) classes, the core of which is FragmentStateManager.

link image   Remote ADB Debugging with Kobiton (

Debug your app on hundreds of real Android devices and release faster, with better quality.

"Rate this app" functionality using In-App Review API (

Bevan Steele shows how to use a new API that allows you to show discrete in-app pop-ups to urge users to rate (or review) your app.

link image   Achieve 99% crash-free sessions with Instabug SDK (

Quickly identify and resolve your app crashes 4x faster with Instabug. Know which line of code caused the crash along with network logs and detailed repro steps. 25,000+ developers trust and rank Instabug as the number one SDK for bug and crash reporting. Find out why and see more features by trying out Instabug for free here.

A Framework For Speedy and Scalable Development Of Android UI Tests (

If you're struggling with UI testing, Nishant Soni shows how you can enhance UI test automation tools by using a Fluent design pattern to create easy to read, manageable tests that are fast to implement and will enable scalability.

Basic Coroutine Level 1 (

In this blog series, Tarun Sharma will discuss the concept of coroutines, from basic to advanced.

Android Lint Framework — An Introduction (

Saurabh Mishra creates a lint check using Android Lint Framework and incorporates a quick fix as well.

Codelabs for new Android game technologies (

Google Developer Codelabs are guided, hands-on tutorials that walk you through the nuts and bolts of adding new features to your code. Google announced new game developer Codelabs for Play Asset Delivery and the Android Performance Tuner.

SSID Connector - Compatibility Wrapper (

In this second article in the series, Mark Allison looks at the specific problem that prompted this series: How to perform the connection to and disconnection from a specific Wifi SSID in a backwards compatible way.

Android Vitals - When did my app start? (

This blog series is focused on stability and performance monitoring of Android apps in production. Last week, Py wrote about using process importance to determine why an app was started, this week he looks at how to determine when an app starts.

Comparing Three Dependency Injection Solutions (

Adam McNeilly compares three different approaches to dependency injection: DIY, Koin and Dagger Hilt.

Avoiding memory leaks when using Data Binding and View Binding (

Anders Ullnæss describes how to track down and fix memory leaks that are due to Data and View Binding.

Anti-patterns of automated software testing (

Sometimes it’s easier to learn from ‘what not to do’ rather than from ‘what to do’. Anti-patterns represent common bad practices, code smells and pitfalls, in this case, when creating automated tests. You should learn them so that you can spot them.

Using bytecode analysis to find unused dependencies (

In this first of a series of posts, Tony Robalik discusses how the Dependency Analysis Gradle Plugin works to help maintain a healthy build for your Android, Java, and Kotlin projects.


Place a sponsored post

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



Top 10 Health&Fitness App recruiting a Senior Dev (Remote or Paris)

Join Fabulous: 🎖Top 10 Health&Fitness app, material design award winner, and nominated among Best Android Apps. If you really care about crafting a great experience that helps people change their lives, join us!

Senior Android Developer (Anywhere)

At Doist, our mission is to inspire the workplace of the future by creating simple yet powerful productivity tools that promote a more fulfilling way to work and live. We're looking for a passionate Android developer who is excited to continue improving Todoist and Twist.

Android Engineer (Java/Kotlin) (Berlin)

We're looking for an Android Engineer (Java/Kotlin) in Berlin who will join our international tech team as soon as possible in creating one of the fastest growing companies in the heating market.


Libraries & Code

refreshVersions (

The refreshVersions Gradle plugin brings the following benefits: Centralizes dependencies versions, shows available updates in seconds, allows applying the available updates with minimal effort and brings autocomplete for select dependencies (you can add yours too)



link image   What’s new for Android game developers: August update (

Welcome to our latest Android games update and the start of our #11WeeksOfAndroid week focused on games, media and 5G.

Release Updates: ConstraintLayout 2.0.0 (

Google announced the stable release of ConstraintLayout 2.0 -- a long journey, but this version adds a very long list of capabilities to v1!

Ktor 1.4.0 now available! (

Jetbrains announced the availability of Ktor 1.4.0. In addition to a few minor features, the release addresses a bunch of known problems and provides compatibility with Kotlin 1.4.

Kotlin 1.4 Released with a Focus on Quality and Performance (

Jetbrains has released Kotlin 1.4.0 with an effort to improving the performance and quality of Kotlin and its tooling.


Videos & Podcasts

link image   Android Study Guide Twitch (

Over on Twitch, Adam McNeilly live-streamed building an Android Study Guide application. These videos are an archive of all the live streams in case you missed them in real-time.

What's new in Media (

In Android 11 Google released a bunch of new media features, including new media controls, playback resumption, and seamless transfer. They've also released updated APIs and libraries to make it easy for you, the developer, to build high-quality media apps.

Android Performance Tuner deep dive (

In this video walk through some of the considerations you’ll be making as you integrate APT into your game and also be stepping through an example of how to interpret the results.

Android Developers Backstage: The Game Changer (

Romain was hosting all on his own for this conversation about game technology with Greg Hartrell, product manager for games on Play/Android, and Dan Galpin, developer advocate for games on Android.

Talking Machine Learning with Hoi Lam (

A chat with Hoi Lam who is a developer advocate for machine learning at Google about machine learning on Mobile. He speaks about the MLKit and Firebase offering and also goes through Tensorflow and what it has to offer, finally finishing off with talking about UX for Machine learning.



Google Pay on Android: Integration Jam + Q&A (

Are you building an app that collects payments for physical goods and services? Bring your app along and join us for a virtual Google Pay integration jam. We'll walk you through the process of integrating Google Pay into your app while answering your questions.