Issue #450

January 24th, 2021

Articles & Tutorials

link image   Using Hilt’s ViewModelComponent (

ViewModelComponent is a component in the Hilt’s component hierarchy that follows the lifecycle of a ViewModel and allows scoping types to it. Manuel Vivo describes how to use it.

Android Parcelable: There's a better way (

Christopher Keenan introduces a new library that uses Kotlinx Serialization to parcelize objects on Android

Why we use Kotlin Multiplatform and Redux (

Kai Widmer presents the implementation of a small but useful Kotlin Multiplatform (Android & iOS) app.

How do we handle multi-modules navigation on our Android app (

Philippe Boisney describes how he is using Dependency Injection to resolve some headaches and apply separation of concerns in a heavily multi-module app.

Clean Runtime Permissions in Android (

Vasiliy summarizes all the details about runtime permissions in Android as a reference.

Ktor and GraphQL (

Enzo Lizama shows how to create a GraphQL server using Ktor

Helping You Understand The Syntax of Jetpack Compose (

Jetpack Compose brings a syntax that may look strange for some developers, so Oussama Hafferssas tries to clarify its syntax in this article.

Finding the right abstraction (

Finding the right abstraction is hard! Hannes Dorfmann shares a technique that works well when dealing with String resources on android.

Epoxy—Build Declarative & Reusable UI Components (

Epoxy is an Android library for building complex screens in a RecyclerView. Seanghay looks and how and why it might be useful when using reusable components.

How runBlocking May Surprise You (

Max Kachinkin analyzes why a seemingly harmless runBlocking piece of code could freeze your Android app.

What’s new in Hilt and Dagger 2.31 (

Hilt is a dependency injection tool build on Dagger. Jaewoong Eum digs into what's new in the recently released version 2.31.

Debugging Proguard configuration issues (

Vasya Drobushkov introduces a plan to find what part of Proguard causing an issue, so you can debug them more effectively.

Sealed goodies coming in Kotlin 1.5 (

Márton Braun demonstrates some new goodies coming in Kotlin 1.5, like sealed interfaces.

3 Android Cases: JUnit 4 Rules to JUnit 5 Extensions (

If you're considering moving from JUnit 4 to 5, this article by Vlad Sonkin shows what JUnit 5 Extensions are and how to migrate JUnit 4 Rules.

Language Injections in Android Studio / IntelliJ IDEA (

Android Studio language injection allows you to work with different languages in the same file. Rebecca Franks shows how this can be enabled for something like SQL or OpenGL.

Using Swift Packages in a Kotlin Multiplatform project (

If you're using Kotlin to write iOS or macOS Swift code, John O'Reilly shows you how to import and use Swift packages.

Advanced FP for the Enterprise Bee: Higher Kinded Types (

Garth Gilmour continues a series on Functional Programming in Kotlin, completing the set by explaining Higher Kinded Types.


Place a sponsored post

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



Senior Android Engineer (Search Integration Team) (Montana or Remote, USA only)

Using the latest Android and Elastic Search technology, you'll work on a leading off-the-pavement GPS app that affects 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.

Music Lover (NYC or Remote North America)

Stationhead is building the future of radio. Join us! Seeking an Android Specialist—no full-stack or iOS coding required. Clean and modern 100% Kotlin codebase. Rx mastery a plus. We offer competitive pay and benefits, unlimited PTO, and pre-series-A equity.


Libraries & Code

link image   synth-android (

Synth is CRED's inbuilt library for using Neumorphic components in your app.

parcelable (

Android Parcelable support for the Kotlinx Serialization library

multiplatform-redux-sample (

Get an overview and reminders for the waste disposal dates in zurich within your region. This app is built with KMM and ReduxKotlin for android and iOS.



link image   Results of the First Kotlin Multiplatform Survey (

This past November, Jetbrains conducted our first-ever Kotlin Multiplatform survey. Alex Anisimov writes about the findings from that survey.

Kotlin Roadmap Q1 2021 (

Jetbrains releases the Kotlin roadmap for early 2021.

Ktor 1.5.0 Released (

Hadi Hariri announces the release of Ktor 1.5.0, which comes with new features, bug fixes, and new docs!


Videos & Podcasts

link image   Introduction to Motion Layout (

Sean McQuillan gives us a preview for Motion Layout, Motion Editor, and more!

Motion Layout: ConstraintSet animations (

Sean will show us how to use ConstraintSets and Transitions to define animations from multiple views in Motion Layout

Jetpack Compose Desktop with Sebastian Aigner (

Sebastian Aigner, Developer Advocate at JetBrains talks about Jetpack Compose Desktop, a new declarative UI framework for Desktop applications written in Kotlin.

5 Cool Tips for Android Emulator (

Vlad Sonkin prepared 5 cool tips for the Android Emulator that can be useful in Android development.