Issue #431

September 13th, 2020

Articles & Tutorials

link image   Distributing Android builds with Fastlane (

Nikola Curilović covers distributing builds with Google Play Store (Internal App Sharing) and Firebase App Distribution using the open-source tool Fastlane.

Making NetworkBoundResource work in offline mode (

NetworkBoundResource handles loading from the local cache or network resources but doesn't work in an offline mode. Pamela Hill updates it to handle this common use case.

link image   Modern way to handle multilingual app development (

Automate app localization with Gradle plugin or CLI. Make your app speak 80 languages for free with Localazy. Trusted by productive devs worldwide

List pagination with Jetpack Compose (

Damian Petla shares a way to paginate lists with Jetpack Compose

link image   Deploy Android Chat In Hours With Stream (

Learn how easy it is to use Stream's Android Java & Kotlin chat SDK. Build real-time chat for Android in hours, not months. Start a free trial now and try out Stream's chat API and SDK Components. See why Stream powers the feeds and chat for over 500 million end-users.

Adapt your app for the latest privacy best practices (

In this article, Fred Chung examines 4 best practices to help you future-proof your app and plan for compatibility test cases.

Publishing KMP Libraries in Kotlin 1.4.0 (

Christopher Keenan explains how to publish Kotlin 1.4.0 Multi-platform Libraries to Bintray.

The struggles of upgrading our Instant enabled app to App Bundles (

Menno Vogel describes the upgrade path from Instant apps to Android App Bundles

Jetpack Compose Playground (

A collection of Jetpack Compose example code and tutorials

Don't Reinvent the Wheel, Delegate It! (

Denis Crăciunescu demonstrates how Kotlin provides native support for the delegation pattern with the use of the by keyword and delegated properties.

Create your first Kotlin multiplatform mobile application in Android Studio (

Build a simple hello world application that will run in Android and IOS with a single codebase using Kotlin programming language.

Rendering Markdown with Jetpack Compose (

There are already libraries that will convert Markdown content to classical text spans and Views for Android, but in this post, Erik Hellman explores how to do it using Jetpack Compose.

Android build and the journey to the end game (

Tuan Kiet shows how he decreased a 5-minute build down to 15 seconds

Basic Dependency Injection with Hilt! (

Catalin Ghita teaches the basics of setting up an android project with Hilt

Dagger.Hilt TLDR (

Here's Lukas Vyletel's very short tutorial on how to use Dagger.Hilt if you don’t have time to read through the docs.

DataStore Preferences and migrating from SharedPreferences (

Bevan Steele looks at the SharedPreferences replacement that's available as part of Android Jetpack.

Exploring Jetpack Compose: Padding Modifier (

When it comes to the composition of composables, we may want to apply additional spacing to a composable's size constraints. Joe Birch shows how to do this with the padding modifier.

DataStore: Basics (

Mark Allison inspects the new Jetpack library named DataStore, a replacement for SharedPreferences.

How to Create a Cartoonizer with TensorFlow Lite (

This is an end-to-end tutorial on how to convert a TensorFlow model to TensorFlow Lite (TFLite) and deploy it to an Android app for cartoonizing an image captured by the camera.

Jetpack Compose Animations Tutorial (

You’ll build beautiful animations with Jetpack Compose Animations, and discover the API that lets you build these animations easily in this tutorial by Andres Torres.

Functional Programming With Kotlin and Arrow (

Massimo Carli teaches how to use algebraic operations to better understand functional programming concepts like class constructs, typeclasses and lists in Kotlin & Arrow.

Krate, a better SharedPreferences experience (

Márton Braun introduces Krate, a wrapper library built on delegated properties, and it makes storing values in SharedPreferences simple and convenient.


Place a sponsored post

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



link image   Fluent System Icons for your UI Design (

Introducing Fluent System style icons; regular and filled Microsoft style icons for your design projects. Fluent icons are free to use as long as link attribution to Icons8 is placed on the finished work/page. Free icons do have size and format limitations.



Android Engineer (New York, NY, USA)

It's an exciting time to be building an app for discovering and attending live events. Our platform powers incredible features to create the most user-friendly live event experience. Our Android app could not be more central to reaching that goal!

Android Engineer at Big Nerd Ranch (Remote, US)

Big Nerd Ranch specializes in developing business-building mobile apps for our clients, teaching fellow developers, and writing our best selling Big Nerd Ranch Guides. We are looking for Android Engineers to join our team. Learn more about us:


Libraries & Code

BlurImageSwitcher (

BlurImageSwitcher is a lightweight ImageSwitcher library to switch images with a blur animation

LiquidSwipe (

LiquidSwipe is a viewpager library that can be used to make awesome onboarding designs

ConcentricOnboarding (

ConcentricOnboarding is a viewpager library that can be used to make awesome onboarding designs

cryptoguard (

A program analysis tool to find cryptographic misuse in Java and Android

crylogger (

Detecting Crypto Misuses for Android and Java Apps Dynamically



link image   New API for manually tracking screen views in G Analytics (

The latest Google Analytics for Firebase SDK release now makes it possible for you to log the screen_view event manually for both Android and iOS

Academics find crypto bugs in 306 popular Android apps, none get patched (

A team of academics from Columbia University has developed a custom tool to dynamically analyze Android applications and see if they're using cryptographic code in an unsafe way.


Videos & Podcasts

link image   Talking Jetpack Compose in Alpha with Sean McQuillan (

Sean dive into what Compose is, how it came about, the different components and even architectures that work well with it. In the end Sean answers an important question about if Compose is production ready.