Issue #455

February 28th, 2021

Articles & Tutorials

link image   Unit Testing Kotlin Flow (

Nick Skelton has struggled unit testing Kotlin Flows attempting to apply LiveData or RxJava approaches. In this article, he then goes on to experiment with the Google recommended method and finally, showcases the best solution so far.

Get ahead using headers in RecyclerView (

This is the fourth in a series of articles that cover the fundamentals of using RecyclerView. This blog post by Meghan Mehta goes through adding a Header to a RecyclerView.

Great teams merge fast (

A couple of tips from Saket Narayan to help your team reduce the amount of time a PR remains open and waiting for reviews.

link image   Fix reported bugs 50x faster with Shake (

Shake is a lightweight SDK that offers a powerful bug reporting experience. Integrate with your native Android app in under 5 minutes and receive a tester’s activity history, network logs, device data & attached files out-of-the-box with each bug report. It’s free.

No-bullshit guide on publishing your Gradle projects to Maven Central (

Siarhei Krukau's detailed guide to publishing your library on Maven Central.

Activity Result Contract - Outside The Activity (

In the previous article, Mark Allison looked at how the new Activity Result Contract pattern, which can keep our code much easier to understand. Now he shows how to avoid putting too much logic into the Activity.

Introducing Kotlin Multiplatform in an existing project (

Marco Gomiero shares an in-depth article on integrating Kotlin Multiplatform into your existing project.

So, JCenter is shutting down... (

As a result of JCenter and Bintray shutting down, many library authors who published their libraries to JCenter are scrambling to move to Maven Central. Sebastiano Poggi writes about some tips to help with the transition.

Enforce custom views with lint (

How do we enforce that other developers use our custom view, instead of the Android framework view? Adam McNeilly shows how we can solve this problem by writing our own Android lint check.

Stop Nitpicking in Code Reviews (

One of the best changes Dan Lew has made at work recently is to stop nitpicking in code reviews. He explains why that is and how to make it happen.

Companion Objects: Kotlin’s most unassuming power feature (

David Denton argues the case for Kotlin’s Companion Objects being the Clark Kent of language features, in being deceptively powerful, and how they can be used to supercharge our API designs.


Place a sponsored post

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



Android Engineer (Virtual)

Doctor On Demand’s mission is to improve the world’s health through compassionate care and innovation. We believe that health is personal, and means so much more than treating illness.

Mobile Automation Build Engineer (United States, Remote)

Doximity is looking for a mid-level software engineer with a passion for implementing, improving, and debugging CI/CD pipelines to join our 6 person Infra Automation team. You enjoy thinking outside the box, and presenting new and novel solutions for overall improvement of pipelines and test suites.

Android Developer (Vienna, Austria / remote)

At Bikemap, we provide community-generated cycling maps & navigation services on a global scale. Providing cutting edge features for our global community is what drives us towards our vision of becoming ‘the’ app for cyclists worldwide. Join our passionate team to be part of the ride.

Android Developer (Metzingen, Germany - max. 80% remote)

Work for the world's first omnichannel outlet with its own online shop and develop our app in the world's coolest team by using the latest technologies. Fluency in German is mandatory.

Android Developer (Remote)

Perry Street Software publishes two of the world’s largest gay & queer social dating apps. We are hiring Android developers with experience in design and architecture patterns, Android SDK, Kotlin, RxJava, and a good sense of usability and product.

Android Engineer @ Monzo (London; Remote UK, Ireland, or France)

At Monzo we’re building a bank that’s fair, transparent and a pleasure to use, and we're looking for a product-aware Android engineer passionate about great UI and UX to help!

Staff Android Engineer (New York, NY)

Join the team that delivers the member-facing experience for our core products - the bike & tread. This team works heavily with Kotlin - all within our custom fork of AOSP. We care about architecture, testing, and “together we go far” mentality. Staff engineers at Peloton are technical leaders

Senior Android Engineer (remote) (

Hi! We are that super-groundbreaking technology provider you've probably never heard of! We're building the PhotoEditor SDK and VideoEditor SDK, fully customizable photo and video editing solution for web and mobile platforms that are being used by marvelous brands around the world. Now, we're on the rise for the next generation of our SDKs. And that's where you step in.


Libraries & Code

link image   Shuttle (

Shuttle provides a modern, guarded way to pass large Serializable objects with Intents or saving them in Bundle objects to avoid app crashes from TransactionTooLargeExceptions

mvvm-redux (

MVVM Redux is a lightweight lib to help you apply the redux concepts in your project based in MVVM

RandomKolor (

A tiny (Kotlin) library for generating attractive colors

turbine (

Turbine is a small testing library for kotlinx.coroutines Flow



link image   Android Dev Challenge: lift off with Jetpack Compose (

For the next four weeks, the #AndroidDevChallenge will be launching a series of weekly challenges to help you build better apps faster with Jetpack Compose.

Jetpack Compose Testing cheatsheet (

The Compose testing cheat sheet is a quick reference of some of the most useful Compose test APIs. The cheat sheet is also downloadable in PDF format.

Low-Power Sleep Tracking on Android (

In an effort to help users stay informed about their sleep, Google has made the Sleep API publicly available.

#AndroidDevJourney spotlight - February edition (

At the beginning of this year Google launched the #AndroidDevJourney to share the stories of members of our community through our social platforms.

Announcing Jetpack Compose Beta! (

Google has launched the beta release of Jetpack Compose, the new UI toolkit designed to make it faster and easier to build native apps across all Android platforms.


Videos & Podcasts

link image   The Problem With Developer "Scores" (

Developer "scores" and assessments can be motivating and a fun gamification element for some. However, for others, they can be discouraging and misleading. In this episode, Nate Ebel shares some thoughts on why these kinds of developer "scores" are more trouble than they are worth.

Solving a sample coding interview problem in Kotlin (

Mikhail Dvorkin, ICPC World Finals gold medalist, shows how to solve a sample coding interview problem in Kotlin.

Composing a Design System (

Anton Shilov's presentation that answers the questions: How can we migrate the existing design system to Jetpack Compose? What are the key steps to follow for successful integration with the existing codebase?

Motion Layout - MAD Skills (

The MotionLayout API and design tool makes creating animations much easier. In this series, you’ll learn how to use MotionLayout to make rich, dynamic animated experiences

Material Live Highlights: Designing a Material Theme (

A playlist of highlights from Material Live presentations.

Friends App Android Client Ep4 (

In this video, Jovche Mitrejchevski sets up the UI testing dependency and writes the first Compose UI test for this series.

Kotlin Standard Library Safari. Your Own Adventures (

Before we continue to dive into all the features Kotlin has to offer out of the box, this episode looks at handy ways to explore Kotlin code on our own. These tricks can be used to explore the Kotlin standard library or Kotlin code in general

Kotlin lazy delegate - explanation and example (

Rahul Pandey presents "lazy", an inbuilt Kotlin function that allows us to construct the object when it's actually used, and subsequent calls return the remembered result.

#TheAndroidShow: Jetpack Compose (

#TheAndroidShow, takes you behind the scenes of Jetpack Compose, Android's modern toolkit for building native UI.