Issue #463

April 25th, 2021

Articles & Tutorials

link image   Room auto-migrations (

Implementing database migrations with Room just became easier, with the help of auto-migrations, introduced in version 2.4.0-alpha01. Florina Muntenescu shows how easy they really are!

A Compose & Viewmodel integration test with Hilt (

This post by Michel Onwordi shows a simple setup for running an integration test between Compose and a ViewModel using Hilt.

link image   SIM Card Based Mobile Authentication on Android (

Learn how you can access the authentication mechanism used by Mobile Network Operators. Securely verify phone numbers and detect SIM Swap attacks using tru.ID's APIs and SDKs.

Tap Response Time: Jetpack Navigation (

In the previous article, Py established that the naive approach to measuring Tap Response Time isn't accurate and doesn't scale. Here he builds a better implementation step by step, on top Jetpack Navigation.

Navigation Drawer using Jetpack Compose (

In this article, Avinash Agarwal takes a look at a way to create a navigation drawer and navigate between different screens using the navigation component from Compose.

Unit testing on Android (

Testing your code is crucial for many reasons and Deniz Demirci demonstrates those through this article with examples.

Getting your KMM project working with Android Gradle Plugin 7.0+ (

Several tips from Carlos Mota on getting all the bleeding edge Android developer tools working together.

Lessons learned when migrating my app to Jetpack Compose (

Recently Igor Escodro decided to port his whole application, Alkaa, to Jetpack Compose. These are some lessons learned while doing the port.

Ending the Single Letter Generic Type Convention in Kotlin (

Bryan Sills makes the case for giving generic types descriptive names instead of using single letters.

Ensuring code quality with CI/CD (

Cesar shows how several of Microsoft's Surface Duo SDK projects are automated using GitHub Actions.

Random Musings on the Android 12 Developer Preview 3 (

Each time Google releases a follow-on developer preview, Mark Murphy rummages through the incremental API differences report, the release notes, and even the release blog post, to see if there are things that warrant more attention from developers.

Getting ready for Declarative UIs — Part 3 — Why Declarative UIs on Android? (

Raul Hernandez Lopez continues his series, discussing reasons why Declarative UIs could be a choice compared with Imperative UIs and really “Why” it could be a choice that matters on Android.

Realm Kotlin Multiplatform SDK (

Realm Engineering team decided to rebuild their SDK from the ground-up in Kotlin, and here they share some of the key design principles that guided the development of their Kotlin Multiplatform SDK.

CoroutineScope and coroutineContexts (

Here's an article to help better understand CoroutineScope and coroutineContexts

Android GPU Compute Going Forward (

Google deprecates RenderScript starting in Android 12

Pi Practice App in Compose (

In this article, Márton Braun rebuilds an app in Jetpack Compose which formerly was using JetBrains' declarative Anko Layouts.


Place a sponsored post

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



Android Engineer (London or Remote)

Ctrl Group is looking for an Android engineer to join our team in London, or work remotely. You will be a part of an engineering team that values collaboration and shared ownership of the codebase. With our designers, you will work on features that help patients and clinicians work together.

Senior Android Developer (Remote - EMEA)

Komoot is an app that lets you find, plan, and share adventures with the easy route planner. It’s our mission to inspire great adventures by making them accessible to all. You’ll take over full responsibility of our Android App and team up with the rest of our world class Android team.

Android Engineer at onX (Montana or Remote, USA only)

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

Lead Android Developer (Jetpack Compose & Kotlin) (Amsterdam )

Stream is hiring a Lead Android Developer to build and mentor a new team around our Jetpack Compose efforts. Join one of the growing startups in Colorado and Amsterdam and help us build the world’s most complete SDKs for chat and messaging applications. Apply now!

Motivated Senior Android Developer (Duesseldorf, Germany )

Want to help us shape the future of the travel industry? Want to work in a quality-over-quantity team with high test coverage and a modern tech stack that seeks day-to-day improvement? If you’re up for both, join the fun side of the force at trivago! *We offer nuts instead of cookies.

Senior Android Engineer (Portland, OR / San Francisco, CA/ Remote)

Kiva is a 501(c)3 non-profit on a mission to expand financial access to help underserved communities thrive. You’ll be a key member of an established team during an exciting time of growth and innovation.


Libraries & Code

Lazybones (

Lazy and fluent syntactic sugar of Kotlin for initializing Android lifecycle-aware properties.

alkaa (

Open-source app to manage your tasks quickly and easily. The UI is now fully ported to Jetpack Compose.



link image   Android 12 Developer Preview 3 (

Google has shared Developer Preview 3, the next milestone release of Android 12, for your testing and feedback.


Videos & Podcasts

link image   From Inline to Value Classes (

This video covers one of the main features of the #Kotlin​ 1.5.0 #release​: inline value classes. Inline classes wrap values without any additional overhead

Friends App Android Client Ep12 (

In this episode, Jov Mit works on making the signup screen look nice and polished. He introduces some animation which seems to be quite easy with Jetpack Compose.

Android Developers Backstage: DataStories (

Tor, Chet, and Romain talked with Rohit Sathyanarayana and Florina Muntenescu about the DataStore library

How to Optimize Your Home Office (

In this episode, Donn outlines how you can optimize your home office so that you look, sound, and perform the best that you can. From audio to video, to your body, and everything beyond, it’s covered here.

Material Components: Sliders (

Learn more about sliders and how Material Components can be used in your app.

Non-Coding Tips for Coding Interview Projects (

Nate Ebel dives into coding interview projects and looking at non-coding tips to help you get your next programming job.

Sealed Interfaces and Sealed Classes Improvements (

This video introduces the new sealed interfaces functionality in Kotlin​ 1.5.0 and other improvements for sealed classes. It also touches on the topic of sealed classes support in the latest JVM versions, and how Kotlin will make use of it.



#AndroidDevJourney spotlight - April edition (

Google wraps up the April edition of #AndroidDevJourney by highlighting Android developers from all over the world each with their own unique experience

Core values of a GDE (

Gerardo Lopez Falcón has received a lot of questions about how to become a GDE. Here he lists several core values to work on towards becoming one.

Writing a better Tech Resume / CV (

Rebecca Franks has seen some really great resumes, so she shares some tips that may help you get your resume noticed – and hopefully get you that interview!

Turning Points (

In this post, Mark Allison explains a bit about an early job opportunity he got which changed everything for him. He also discusses why it’s important to recognize and appreciate such roles.

Why you should never quit too early (

Donn Felker writes about his experience with build a SaaS application, but quitting too soon to let it grow to its full potential.