Issue #448

January 10th, 2021

Articles & Tutorials

link image   When “Compat” libraries won’t save you (

Danny Preussler examines why you should avoid using the “NewApi” suppression.

Two Kinds of Code Review (

Aleksey Kladov writes about tradeoffs to consider in code reviews.

link image   How I accidentally built a Podcast API business (

Hey, I'm Wenbin, the founder of Listen Notes (podcast search engine). Wanted to share with you my journey of building an API business and the technology behind it. If you want to build a podcast app, try out our podcast API :)

Bubbles & Conversations in Android 11 (

Jenn Bailey teaches how to use Bubbles in Android to add notifications and create conversational shortcuts for Direct Share

Animations in Jetpack Compose (

Rasul Aghakishiyev shows an example of how Jetpack Compose provides a nice API for creating animations in our application.

How to code review security rules (

This post by Rachel Myers walks through how to approach reviewing and giving good feedback on Firebase Security Rules.

Using and testing Room Kotlin APIs (

Florina Muntenescu shows how to use and test Room Kotlin APIs and also how things work under the hood.

WorkManager — Kotlin APIs (

In this post, Florina Muntenescu shows you the basics of WorkManager with coroutines by building on the WorkManager codelab.

Handling click events in RecyclerView (

In this third in a series of articles on the fundamentals of creating and using RecyclerView, Meghan Mehta covers how to handle click events.

How I joined the Google Developers Experts program (

In this article, Angélica Oliveira explains some steps that made this possible to become a Google Developer Expert.

2 Best Ways To Use Custom Fonts In Android (

Vlad Sonkin takes a closer look at custom fonts on Android and explores the best way to use them in your Android project.

How to implement In-App Updates in Android (

A step-by-step walkthrough on how to implement In-App Updates in Android using Kotlin by John Codeos.

Custom Side Drawer In Jetpack Compose (

In using Jetpack Compose, Amr Yousef needed to customize a side drawer, so he shows how to do this.

Android Learning Plan (

Magda Miu is often asked how to start learning Android, or how to become an Android developer. So in this post, she shares a list or resources.

7 common mistakes you might be making when using Kotlin Coroutines (

Kotlin Coroutines really simplifies the way we write asynchronous and concurrent code. However, Lukas Lechner identified some common mistakes that many developers make when using Coroutines.

Resources for Learning OpenGL  (

Rebecca Franks has spent several years learning graphics programming with OpenGL. Here she shares a list of resources that she found useful for learning it.

Unit Tests and Concurrency (

Stojan Anastasov shows that when testing RxJava code, you do NOT have to replace all schedulers with Trampoline, which may make you miss possible concurrency issues.

The Problem with Gradle (

If you’ve been struggling to formulate a mental model for Gradle, this post by Bruce Eckel provides some insights.

Tips and Tricks for GitHub Actions (

Harsh Shandilya goes over some things that you can do with Actions and also shares some safety related tips to ensure that your workflows are secure from both rogue action authors as well as rogue pull requests.

Higher order functions, how, why and what not to do (

A high-order function is a function that takes function/s as parameter/s or returns function/s. This article shows some examples of how this powerful concept can be used in Kotlin.


Place a sponsored post

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



Senior Android Engineer (Montana or Remote, USA only)

Using the latest Android and mapping technologies, you'll work on leading off-the-pavement GPS apps that affect millions of users. At onX we bring our devotion to the outdoors to work daily with a singular, powerful goal; to awaken the adventurer inside everyone.

Senior Software Engineer - Android (New York)

BigSpring is rapidly growing and we're looking for a strong Senior Android Engineer to own our Android codebase as we build and scale our mobile applications.

Senior Android Engineer (Remote)

To support our growing products, we're looking for an experienced Android engineer who has a passion for building great user experiences, pays meticulous attention to details, and believes in software that helps its users.

Senior React Native Engineer (Mobile) (Remote (USA))

You will architect and grow new and existing codebases, give technical input and feedback to Axios’ product and design teams for new features, and help develop the skills of your teammates with industry best practices around testing, accessibility, and documentation.


Libraries & Code

link image   chip-8 (

A Chip-8 emulator written in Kotlin

gifdecoder (

An implementation of a gif decoder written 100% in Kotlin, plus an associated Drawable for Android

recompose (

recompose is a tool for converting Android layouts in XML to Kotlin code using Jetpack Compose. It can be used on the command line, as IntelliJ / Android Studio plugin or as a library in custom code



Figma Design Kit for Microsoft Surface Duo (

Microsoft announces the v0.1 of a Figma Design Kit for Microsoft Surface Duo.


Videos & Podcasts

link image   Android Activity Lifecycle Ultimate Guide (

In this practical guide, Vlad Sonkin shows what the Android Activity Lifecycle is, why it's critical to know, and how to use it correctly.

Building An Expense Tracker App: Project Prerequisites (

In this tutorial series develop an Expense Tracker App Completely from scratch with Modern Android Architecture Components. In this Episode learn to set up project prerequisites in Android Studio.

Mastering API Visibility in Kotlin (

When designing a library, minimizing your API surface is a great idea. In this talk, Márton Braun looks at all the ways that Kotlin lets you get your visibility just right.

Talking Google Assistant with Eliza Camber (

Peter-John chats with Eliza Camber about Google Assistant and the new Actions Builder and also dived into custom intents for your Android app and more.