Issue #491

November 7th, 2021

Articles & Tutorials

Jetpack Compose vs SwiftUI (

Mohit Sarveiya discusses the similarities and differences between Jetpack Compose and SwiftUI.

link image   Build Awesome Chat Features with Jetpack Compose (

Try Stream's brand new Chat SDK for Jetpack Compose today! The tutorial shows you how to add an in-app messaging feature with just a few lines of code, as well as the flexibility and customization options available for the components. All open-source, open for feedback and contributions.

Android's Codec Support (

Ian Bird shares a quick overview of Android's MediaCodec API: what they are, how to find out about device support and some general usage tips when integrating within your application.

link image   Get All The Insights You Need To Build Quality Apps (

Is your app slow to launch or load? Are network requests timing out? Are there rendering issues and UI hangs? Get all the insights you need to solve your performance issues with Instabug. Measure and track the quality of your app as perceived by the user. Get started now and ship apps users love.

Making cold Flows lifecycle-aware (

With the introduction of SharedFlow and StateFlow, many developers are migrating from LiveData for a more consistent API across all layers, but Hicham Boushaba shows that the migration is complicated when the view's lifecycle enters into the equation.

Modeling Android Screens as State (

Gabriel Peal shares thoughts on his approach to modeling screens as state in Android.

Compose for Wear OS: Navigation (

In this blog post, Nikit Bhandari shows how to implement navigation in Wear OS

Multi-Theme Screenshot Tests in Jetpack Compose (

Fábio Carballo writes about a recent challenge to add support to screenshot testing while making it easy to scale for several different themes.

I spent 3 years writing an Android Contacts API in Kotlin (

Vandolf Estrellado writes about the open-source Contacts API that he's built, along with the mistakes made and lessons learned from writing "open source" code, privately, for three years.

Going deeper, paging from network and database (

TJ shows how your ViewModel can use the Room library to avoid frequent network calls by caching your data.

Using SwiftUI and Compose to develop App Widgets on iOS and Android (

John O'Reilly thought it would be interesting to compare SwiftUI and Jetpack Compose approaches to building app widgets and to do so in a project where both widgets consume the same Kotlin Mutliplatform shared code

How Trello Android converted from Gson to Moshi (

Dan Lew recently converted from using Gson to Moshi for handling JSON and it was a bit tricky, so he's documented the process.

Herding Elephants (

This is a high-level overview of what Tony Robalik and the team at Square did to improve their Gradle builds with more than 3500 modules.

Jetpack Compose: Modifiers fundamentals (

In this post, Bevan Steele writes about the biggest differences between XML layout attributes and Compose modifiers.

link image   Android developers - register for droidcon Italy! (

droidcon Italy, 11-12 November is all-digital with global Android experts sharing their case studies, techniques and new ideas all in Android. Key topics this year: Jetpack Compose, Kotlin Multiplatform, testing & security. Upskill with the Android community. More information and registration here.


Place a sponsored post

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



Senior Software Engineer - Android (New York)

Squarespace is looking for a Senior Software Engineer - Android to join our small, collaborative team responsible for the end-to-end development of our Android applications and the long-term vision of Squarespace on mobile devices. You will report to our Engineering Manager in New York City.

Senior Android Engineer (Toronto, Canada & London, UK)

E-commerce sites are 💀 😴 💩. A seismic shift in consumer culture is happening and we're building something amazing to be at the forefront of this. We're looking for our first Android engineer to join us and help build a mind-blowing app that sets the standards for the future.

Kotlin Multiplatform Mobile Developer (Remote - North, South, Central America)

Touchlab is expanding the team again and we have some really cool projects lined up! You have Android/Kotlin experience, are eager to dive into KMM development, and ideally have some iOS experience, but we know most Android devs need to learn these skills, and we’re the best place to learn!

Senior Android Architect (remote )

IMG.LY is looking for an experienced Android Architect to own new features and playing a vital role in the whole process. You work on all layers of the SDK and work with customers to understand their needs, and collaborate with our creative and technically adept team of designers and developers.

Android Developer (Toronto, Ontario)

Konrad is looking for Android developers of all experience levels to join our mobile team building native apps for the world’s most exciting companies. Our team of 200+ developers is always looking to solve challenging problems, learn, and have fun!

Android Developer (Vancouver, BC)

Konrad is looking for Android developers of all experience levels to join our mobile team building native apps for the world’s most exciting companies. Our team of 200+ developers is always looking to solve challenging problems, learn, and have fun!

Software Engineer, Android (Kotlin) (United States, Remote)

We build fully-native Android apps that healthcare professionals use on a daily basis to increase productivity and improve patient care. Our apps are 100% Kotlin utilizing the latest Jetpack libraries and we are currently converting to Jetpack Compose. Join our entirely remote Android team!


Libraries & Code

PasswordValidationView (

An animated Android UI component that validates passwords

contacts-android (

Android Contacts API Library written in Kotlin with Java interoperability. No more ContentProviders and cursors. Say goodbye to ContactsContract. Build your own contacts app!

version-catalog-update-plugin (

This plugin helps to keep the versions in a Gradle version catalog toml file up to date. The version updates are determined by the versions plugin



link image   Improving the Google Analytics dashboard in Firebase (

If you’ve visited the Firebase console’s Analytics section recently, you might have noticed something new… an updated Analytics dashboard, a new Realtime view and a few other UI enhancements.


Videos & Podcasts

link image   Android Worldwide October 2021 (

Playlist of Android Worldwide presentations for October, including topics around WorkManager, Flow, Compose, Kotlin Multiplatform and code minification.

Does Windows 11 build your Android app faster? (

Windows 11 releases are out and Microsoft is offering Windows 10 users to upgrade. In this video, you will learn if by migrating to Windows 11 you get a faster build for your Android app.

Paging: Getting fancy with transformations, separators, and more (

TJ Dahunsi goes over operations that can be performed with Paging with transformations like inserting separators, when to create a new pager and customization options for consuming PagingData.

Jetpack Compose basics code-along (

Watch how Android experts go through the Basics of Jetpack Compose and answer audience questions live.

K2 Compiler: a Top-Down View (

JetBrains presentation on the new K2 Kotlin compiler, which is on its way to Preview!

This Is How To Learn A New Codebase FAST (

Rahul Pandey shares some tactical tips for how to get oriented in a new codebase.

Kotlin in 100 Seconds (

A quick 100 second introduction to everything that Kotlin has to offer.