Issue #456

March 7th, 2021

Articles & Tutorials

link image   Compose O'Clock (

Márton Braun describes how he's implemented an interesting animated clock using Jetpack Compose.

A Riddikulus Dataset (

Gant Laborde examines how to use a set of drawings along with TensorFlow to train an AI that classifies a drawing into a Hogwarts house.

Architecture in Jetpack Compose — MVP, MVVM, & MVI (

This article by Ian Alexander is an experiment looking at how the architecture patterns we’re all familiar with transfer into the Compose paradigm.

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

Place a sponsored post or open job offer and reach more than 66k subscribers and followers through our Android development newsletter

Repository initialization without StrictMode violations (

Eric Silverberg shows how initializing your app’s database at startup is sometimes easier said than done! Follow his techniques to assure that it happens appropriately.

Why are Java server-side developers not adopting Kotlin? (

Ivan Sanchez writes about his experiences with convincing server-side Java developers adopting Kotlin.

Fix: Jetpack Compose observeAsState Type Error has no method (

This quick blog post helps you solve the error “Type state has no method getValue” when first starting to observe state on your ViewModel.

5G Connectivity (

Mark Allison published a post on how to monitor changes in connectivity status. Since then, he has found some improvements in how to handle this monitoring, hence this follow-up post.

Data classes in Kotlin: how does it impact an application size (

In this article, with the help of an experiment, Yury attempts to understand the real cost of using a high number of data classes in an application.

Kotlin Playground (

In this Kotlin Playground tutorial by Fernando Sproviero, you’ll learn how to use the online tool to write, run and share your code for different targets like JVM, JS and JUnit.

Support foldable and dual-screen devices with Jetpack WindowManager (

This practical codelab will teach you the basics of developing for dual-screen and foldable devices. When you're finished, you'll be able to enhance your app to support devices like the Microsoft Surface Duo and the Samsung Galaxy Z Fold 2.

Android Logging with Style (

Nicolas Haan suggests that logs can be useful on a daily basis if done correctly. Here are some tips to do better logging from your Android App.

Introducing Curtains (

Py and his team have been writing the same window helper code over and over, so they decided to group all of it into a small helper library.

Getting ready for Declarative UIs — Part 2 (

In this article, Raul Hernandez Lopez continues his series on declarative UIs and elaborates on the implementation details from the Business layer to the View layer using unidirectional data flow patterns.



Mobile Developer - Native (Atlanta, GA, USA)

The FIXD team is looking for a Mobile Developer with strong skills in native mobile development. You would be integral to the development of our core product and to delivering an experience customers love.

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 (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


Libraries & Code

link image   curtains (

Lift the curtain on Android Windows! Curtains provides centralized APIs for dealing with Android windows.

vgo (

vgo is a tool (and a Gradle plugin) for optimizing vector artwork files that helps ensure your vector artwork is represented compactly without compromising quality.

Tablespoon (

Tablespoon helps you bind attributes easily in your custom views using annotations to generate boilerplate code.

spokestack-android (

Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!

Sesame (

Sesame is a set of architecture components for Android development. It is based on modern technologies including coroutines and Flow. Sesame is simple to learn and easy to use. It is ideally suited for MVVM and MVI architectures.

compose-markdown (

Markdown Text for Android Jetpack Compose



link image   Google Fonts ❤️ Material Icons (

Google Fonts now supports open source icons, starting with the Material Design icon set

Google Play Console with new engagement metrics (

Google Play Console has launched a suite of new metrics* and unique comparative benchmarks. You can evaluate your app or games’ engagement and monetization trends against up to 250 different peersets.

Android Dev Challenge: Week 2 (

Welcome to the second week of the #AndroidDevChallenge! Everyone loved seeing the creative submissions in week #1 so we can’t wait to see what you’ll build in week #2.

An update on Android's audio latency (

This article takes a look at what's changed in the Android ecosystem for audio developers recently, the audio latency of popular Android devices, and discusses Android's suitability for real-time audio apps.

Announcing the Mobile Native Foundation (

Numerous well-known companies have launched the Mobile Native Foundation, which provides a place to collaborate on improving technologies and processes related to shipping large-scale mobile apps.

Best practices for coroutines in Android (

Manuel Vivo announces that Google has released a new doc that collects all the best practices that they've advocated for over the years.


Videos & Podcasts

link image   Friends App Android Client Ep5 (

In this video, Jovche Mitrejchevski starts working on a Signup screen to have a form to create an account. We get an initial grasp of how it feels to write UI using Jetpack Compose!

Android Code-Along: Kotlin coroutines (coming March 10th) (

In this first episode, Manuel Vicente Vivo and Caren Chang will run through the recently updated Kotlin coroutines codelab and answer your questions live, on March 10th.

Android Developers Backstage: Audio feedback (

In this episode, Tor, Romain, and Chet talk about what they could do — or not do —to improve Android Developers Backstage.

Introduction to WorkManager (

Android Developer Relations Engineer Ben Weiss gives us a preview for WorkManager; from basic usage, threading, custom configuration, multi-processing over debugging and testing to migrating deprecated code to WorkManager.

Talking Kotlin. Catching Up With Roman Elizarov (

In this episode, listen to the new Kotlin Project Lead, Roman Elizarov, who tells us all about the Kotlin team, their areas of focus, and their plans for the future.

FOSDEM 2021 (

All the Kotlin presentations from FOSDEM 2021.