Issue #482

September 5th, 2021

Articles & Tutorials

link image   Kotlin’s Flow in ViewModels: it’s complicated (

Christophe Beyls considers when to use LiveData vs Flows when implementing ViewModels. The decision about which to use isn't always straightforward!

Jetpack Compose navigation architecture with ViewModels (

Tom Seifers shows how to integrate Jetpack Navigation and ViewModels into a Compose UI-based application.

Coroutines under the hood (

This article by Marcin Moskała is purely explanatory; it tries to explain how coroutines work.

Jetpack Compose way to animate Android Views (

In this article, Andrei Belous shows how to adopt animate*asState from Jetpack Compose for use with regular Android Views.

Enabling cache & offline support on Android using Room (

Alejandro Weichandt shares another story of Architectural components he and his team built. This one is about cached data.

Understanding re-composition in Jetpack Compose with a case study (

In this post, Damian Petla goes through the process of investigating the code and figuring out why a Composable is re-composing more often than expected.

Basic Drag-n-Drop in Jetpack Compose (

In this article, Suraj Sau walks you through the key portions of how to implement drag & drop in Compose UI.

Android Drag and Drop Tutorial (

Kushal Kumar R teaches how to use Android’s drag-and-drop framework to enable an advanced gesture-based user experience.

Principles and Techniques for Effective Localization (

This article shows how to go beyond translations to create more inclusive experiences.

Hilt Testing Best Practices (

Eric Chang focuses on how to write tests with Hilt and some of the best practices to be aware of.

Jetpack Compose: Building Grids (

Alex Zhukovich covers how grid layouts can be built using Jetpack Compose in multiple ways, with different options having their benefits and limitations.

Tasks Of Affirmation: A New Twitch Live Stream Series (

Adam McNeilly discusses the new live stream series he's starting soon to build a different type of todo list.

Write Once, Run Anywhere? (

Ankush Gupta writes about what a migration to Kotlin Multiplatform taught Quizlet regarding the nuances of cross-platform development.

A Bit of Gradle Housekeeping (

In this article, Márton Braun looks at various bits of configuration that you might have in build files that you don’t actually need anymore, or can replace with something simpler.


Place a sponsored post

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



Android Engineer at Series B Startup, Persona (San Francisco, Remote)

Persona is working to make the internet safer and more human. We are backed with $67M in funding from Index, First Round and Coatue. This role would help lead development for Persona's Android SDK that will be used by our customers such as Instacart, Robinhood, SimpleHealth, Coursera, Doordash.

Full Stack Android Engineer (Remote)

Scruff & Jack'd, two of the world's largest LGBTQ+ dating apps on Android, are looking for full stack developers to help build experimental features that will shape the next generation of their products.

Senior Android Engineer (Remote - North America / South America)

At GoDaddy, you can propel your career. You'll have the ability to do so by enabling small business owners to sell and grow their business via easy-to-use Mobile tools. If you're a self-driven, and strong Android developer, you belong at GoDaddy! Click the link to learn more about the #GoDaddyLife.


Libraries & Code

link image   Atmostate (

Android weather app using Hilt, Coroutines, Retrofit, Jetpack (Compose, Room, ViewModel) based on MVVM architecture



link image   Celebrating some of the best indie games (

Google announces the Indie Games Festival winners!

Raising the quality bar with updated guidelines for Wear OS 3.0 (

Google announces new guidelines to help support you in building high-quality apps your users love.

Android Dev Hangout (

This event is designed to encourage current and aspiring Android Developers to gather and share experiences and knowledge. We will hang out, build community, and get to know folks in our community.

Try the New Kotlin/Native Memory Manager Development Preview (

JetBrains has announced that the development preview of the new memory management approach for Kotlin/Native is now ready for you to try out in your project


Videos & Podcasts

Accessibility services and the Android Accessibility model (

In this talk on Android Accessibility, you will learn more about the Accessibility services that help many users with disabilities interact with apps that you have built.

Nearby Messages API (

Tune into this video to learn more about Nearby Messages API best practices to improve the quality and security of your user's experience.

Validating and Sanitizing Input. Advent of Code Puzzles (

In the fourth episode of Idiomatic Kotlin's #AdventofCode series, we will be tackling input sanitization and validation challenges.

Hilt testing best practices (

In this episode, Dagger and Hilt Engineer Eric Chang will discuss Hilt's approach to testing, how to write tests in Hilt, and best practices/tradeoffs to evaluate when testing with Hilt.

Comparing Jetpack Compose and SwiftUI: Fun with Declarative UIs (

Pamela Hill & Peter-John Welcome compare the Jetpack Compose and SwiftUI declarative UI frameworks.

Kotlin with Marcin Moskala by Coding with Holger (

Coding With Holger is joined by Marcin Moskala to talk about Kotlin and tech waves.



The Seniority Roller Coaster and Down-Leveling in Tech (

In tech, switching jobs almost always comes with either a financial or a title upside. However, it doesn’t always come with both. Gergely Orosz writes about the seniority roller coaster.

To dip or not to dp (

Do you really miss using `dip`s from XML when building your UI in Compose? Well, Paul Blundell has a treat for you!