Issue #403

March 1st, 2020

Articles & Tutorials

Understanding "getCameraIds" (

In this post Josias Sena will explain some caveats when your app needs to be able to switch between front and back cameras.

link image   PathSense Android Geofence, 6x Faster Than Google (

PathSense Geofence for Android is 6x faster and 6x more accurate than Google Play Services geofencing, and will reliably wake your app from the background. It is optimized for Android O, P, and Q. Get the SDK and try it for FREE in your own app today!

OkHttp Interceptor - Making the most of it (

In this article Amit Shekhar will teach you everything that you can do with OkHttp interceptors. Even if you're familiar with interceptors already you should check out his real use-cases section - there are some gems inside.

link image   Odyssey - Online Conference on Test Automation (

You don’t want to miss these great speakers at Odyssey 2020! Register today to join us on March 19-20, 2020 for this free online conference focusing on all things test automation.

Multiple resource folders in Android (

In this post Bevan Steele explains how to leverage multiple resource folders to unclutter you default resource folder.

link image   See How Verizon Achieved 99.9% Crash-Free Sessions (

Because of Instabug, Verizon is now 99.9% crash free on Android. The app became very stable and quite robust because the team was able to track, measure, and manage crash data. If you're building or managing an app, see more for yourself

Local development and testing with on-demand modules (

Wojtek Kaliciński has addressed some of the feedback he got from developers who were using dynamic feature modules in their apps, making it much easier to test the modules.

Showing the Android Keyboard Reliably (

Helios Alonso shares a method for showing the soft keyboard reliably with the least amount of side-effects.

Custom Lint Check (

Back in November 2019, Mark Allison wrote about an issue that can cause problems when serializing Kotlin objects. Here he demonstrates writing a custom Lint check for the issue.

Think before using BuildConfig.DEBUG (

Facundo Rodríguez Arceri thinks we should consider all options before writing code that depends on the BuildConfig.DEBUG constant. Here he shares a couple of good alternatives.

Android Styling: Themes Overlay (

Nick Butcher focuses on actually using themes, how they are applied to your app and the implications for how you build them.

Data Encryption on Android with Jetpack Security (

Jon Markoff demonstrates how the Jetpack Security (JetSec) crypto library provides abstractions for encrypting Files and SharedPreferences objects

ViewBinding in Fragments: the clean & easy way (

To clean up our code ViewBinding code, Frank created a ViewBindingHolder class that takes care of the binding’s lifecycle and supplies some helper methods that keep the code in our fragments safe and short.

Becoming a Google Dev Expert (GDE) in Android (

Are you passionate about community work and giving back? If yes, Wajahat Karim describes the steps to take to become a GDE for Android.

Token-Based Authentication with Retrofit (

In this blog post, Vincent Tirgei shows a clean way to append the logged-in user’s OAuth2 token to a Retrofit API requests once the user has logged in.

Simple one-liner ViewBinding in Fragments and Activities with Kotlin (

With the power of Kotlin delegates and Jetpack Lifecycle components, Gabor Varadi shows how to ViewBinding into a single-line code change.

Using AndroidX Snapshot Builds (

AndroidX libraries can release once every two weeks. Rahul Ravikumar shows how to use these snapshot builds in your own development code.

Say no to BaseActivity and BaseFragment (

In this article by Josef Raska you'll learn how to avoid the God class and write cleaner code.

Think before using BuildConfig.DEBUG (

Nice real world insight by Facundo Rodríguez Arceri about replacing BuildConfig.DEBUG with flavors.

Composition over inheritance (and Kotlin) (

Nice reminder that in OOP composition is more powerful than inheritance. When? When you need to refactor! In this post by Bevan Steele you'll learn how to do it right in Kotlin.




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



link image   heroicons (

A set of free MIT-licensed high-quality SVG icons for UI development.



Android Software Engineer (New York, NY / Remote)

SCRUFF & Jack'd, two of the largest gay social dating apps on Android with more than 20M members worldwide, are looking for experienced Android developers to work on the next generation of their app.

Android Engineer (Java/Kotlin) (Berlin)

We're looking for an Android Engineer (Java/Kotlin) in Berlin who will join our international tech team as soon as possible in creating one of the fastest growing companies in the heating market.


Libraries & Code

unearthed (

A library for Android that notifies you when your app was restored after a process death.

DisneyMotions (

A Disney app using transformation motions based on MVVM (ViewModel, Coroutines, LiveData, Room, Repository, Koin) architecture.



Android Studio 4.1 Canary 1 available (

Android Studio 4.1 Canary 1 is now available in the Canary and Dev channels.

Android Studio 4.0 Beta 1 available (

Android Studio 4.0 Beta 1 is now available in the Beta channel

Android Studio 3.6 (

Google announced the stable release of Android Studio 3.6 with a targeted set of features addressing quality in primarily code editing and debugging use cases.


Videos & Podcasts

link image   Vector Assets (

Nick Butcher, from the Google Developer Relations team, explains the importance of vector assets and how they can make your apps better and smaller. Find out more on Android’s vector formats, their capabilities, how to create them and how to use them in your apps.

Sealed classes - Kotlin Vocabulary (

Learn what sealed classes are, how to use them and how to leverage their auto-complete power in the IDE. Then, take a look under the hood at how sealed classes are implemented in the decompiled java code.

What's new in Android Studio 3.6 (

Android Studio 3.6 release introduces a split code/design editor view, ViewBinding, Apply Changes improvements, NDK updates, an upgrade to the emulator location component, enhancements to the Android Studio UI, and much more.



link image   Technical Writing (

This collection of courses and learning resources aims to improve your technical documentation. Learn how to plan and author technical documents.