Issue #382

October 6th, 2019

Articles & Tutorials

link image   Formatting Code Analysis Rule with Android Lint (

Balázs Ruda shows that it’s worth writing a custom code analysis rule to enforce code conventions and that in addition to Checkstyle and ktlint, Android Lint should also be considered when creating a formatting-related code analysis rule.

Securing API Keys using Android NDK (

In this blog post, you will learn how to secure API keys using the Android Native Development Kit.

link image   New Android and Kotlin Books! (

Boost your programming career with new Android & Kotlin books from Android TDD, Data Structures and Algorithms in Kotlin, Saving Data on Android ...and even more! It’s absolutely the best investment you’ll ever make in your development career.

Build an API with Kotlin on Google Cloud Platform (

In this tutorial, Pablo Gonzalez Alonso shows how to build a server-side API using Kotlin and Ktor that you can host on Google Cloud Platform and use with your Android app.

link image   Tired of job applications? 🙄 (

So are we 😜. Join Hired, the #1 career marketplace for Android Engineers where companies apply to you, not the other way around. Get salary details and equity upfront, before the interview. Choose the tech stack. Plus, no more applications.

Recursion, Tail Recursion and Y Combinator (

Uberto Barbini helps you understand how Kotlin's tailrec keyword works and how to take advantage of recursion in Kotlin.

AnimatedIcons: Strikethru (

In this occasional series, Mark Allison looks at how to create some icon animations as Animated Vector Drawables and will show some useful AVD techniques.

Maybe Don't Inject That (

Matt Dupree reflects on why you might not want to use dependency injection in certain situations.

Async Text Loading in Android with PrecomputedText (

Robert Levonyan describes the solution for slower or high quality text rendering in TextViews: PrecomputedText. It was added from the Android P and with it, we can do all text measurements on any thread we want.

Split layouts into sub-folders in Android Studio (

Tam H. Doan shares a trick to organizing your layouts folder in Gradle and Android Studio.

Chasing Swallowed Exceptions (

After a while, Ralf Wondratschek noticed suspicious stack traces in the error log for several tests. The stack traces looked like normal crashes as one would expect using RxJava, but the tests were successful nonetheless.

Using Firebase on Android with Kotlin Coroutines (

Joe Birch used Kotlin Coroutines for all of the asynchronous task handling in a project of his, so when integrating Firebase, ideally he wanted to keep any calls to use the same approach.

Functional Programming with Kotlin and Arrow (

In this tutorial, Massimo Carli teaches the fundamentals of functional programming and how various Kotlin language features enable functional programming concepts.

TextureView transforms on Android (

Erik Hellman simply describes the complexity of how to properly transform a video or camera stream to a TextureView of a different size.

Awesomeness of ConstraintLayout Flow (

Flow is a virtual layout first introduced in Constraint Layout 2.0.0-alpha5. Lin Min Phyo shows how it adds even more power to Constraint Layout.



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



Senior Android Engineer (London, UK / Lisbon, Portugal)

At Onfido we develop an Android library used by millions of users as part of the onboarding flows of apps like Revolut, Barclays, Couchsurfing or Babylon Health. Also, very interesting greenfield projects in the identity field on our roadmap.

Senior Android Engineer (San Diego or Remote - Pacific Time Zone)

Valtech is busy building the future, and we’re looking for Senior Android Engineers that want to help us make sure it works.


Libraries & Code

link image   material-design-components-showcase (

A glorified layout file to which you can apply your Android theme

ConstraintFlowPlayground (

Playground app for Constraint Layout Flow

conceal (

Conceal provides easy Android APIs for performing fast encryption and authentication of data

ExpandableLayout (

An expandable layout that shows a two-level layout with an indicator



link image   Continuous testing with new Android emulator tools (

Developers are increasingly using the emulator in their CI systems to run a larger suite of automated tests. To better support this use-case, Google is open-sourcing the Android Emulator Container Scripts and improving the developer experience around deployability and debuggability.


Videos & Podcasts

link image   Screenshot Testing for Android (

Screenshot Testing is a fast, simple, and fun way to develop UI while keeping your sanity and avoid visual regression bugs. In this talk, Nikos and Christoforos will explain what is Screenshot Testing and how it protects and speeds up UI development.

Kotlin’s !! Operator is a Code Smell (

In this episode, Donn walks through why Kotlin’s Not Null Assertion Operator (!!) is a code smell and what you can do to alleviate it.