Issue #295

February 4th, 2018

Articles & Tutorials

link image   Polishing UI: Android StateListAnimator (

In this post, Mert Şimşek shows how to add some polish with StateListAnimator and show you step by step how I achieved it.

Developing Android Studio plugins with Gradle (

If you ever wanted to create an Android Studio plugin and didn’t know how to get started, this article by Mihaly Nagy gives you the basic building blocks.

Modeling ViewModel States Using Kotlin’s Sealed Classes (

Kotlin Sealed Classes are useful when modeling state’s within various app workflows. Nate Ebel leveraged this to simplify a few different use cases and wanted to share what he found.

Testing in-app purchases on Android (

Sebastiano Gottardo focuses in on how to test the in-app products in your app.

link image   Context is The Key To Engage Your Users (

Game notification at work? E-commerce discounts at the gym? This makes no sense. In Loco Engage leverages location to understand user context and empower App Owners to deliver the message at the right moment. Start for free.

An Introduction to Kotlin Multiplatform Projects (

In this blog post the Novoda team deep dive into JetBrains multiplatform projects feature, why you should consider using it and how you can do so to level up your product development.

RecyclerView Animations – Add & Remove Items (

In this short series, Mark Allison takes a look at the right way to modify the contents of a RecyclerView.Adapter in order to get built-in animations for free.

Basic Android Encryption Do’s and Don’ts (

This article is a collection of things Vincent Huang found useful to know while building an encryption layer within an Android app.

link image   Testing Android UI with Pleasure (

This article from Jovche Mitrejchevski is focused mainly on UI tests in an Android application using Espresso.

How we migrated from RxJava1 to RxJava2 (

To start 2018 on a good note, Nicolas Bridoux decided to take some time to finally do the migration from RxJava1 to RxJava2 in an Android app.

Move content to side in Drawer Layout Android - TheTechnoCafe (

Have you noticed how some android applications move the content inward when you open the navigation drawer? In this tutorial, Gurleen Sethi shows you exactly how you can achieve the same effect.

RxJava Flowables - What, when and how to use it? (

Aanand Shekhar Roy takes a look at another important part of RxJava: Flowables.

Service Locator pattern in Android (

Daniel Novak shows how a Service Locator is a very simple pattern which can be implemented in few lines of code and be a viable alternative or complement to DI frameworks like Dagger.

RxJava Schedulers — What, when and how to use it? (

In this post, Aanand Shekhar Roy demonstrates the types of schedulers in RxJava and when to use the different types.

Building an Android Thin-Client at OkCupid (

Brandon John-Freso shows you a top-level walk-through of how he built a complex feature to demonstrate a few design patterns that you can employ in your own app to create remotely configurable layouts and behavior on-the-fly.

Reactive Architecture — Deep Dive (

This is a continuation of Dan Leonardis' previous article on reactive architecture; where this time he talks specifically about the building blocks of code.

Parcelable in Kotlin? Here comes Parcelize (

In this fifth article, Joao Alves shows how we can have our Kotlin data classes implementing the Parcelable interface.

Custom attributes using BindingAdapters in Kotlin (

Fabio Collini shows how custom expressions in data binding, combined with Kotlin, are very powerful and can be used to simplify layouts and to avoid complex binding expressions.



Android Developer (Amsterdam, the Netherlands)

We’re looking for experienced Android developers to help us build the world’s fastest growing online supermarket. Our app boasts a 4.4 star review in Google Play. Join us and help us make it even better!

Android Engineer @ Scoop (San Francisco)

Scoop brings co-workers and neighbors together into a smooth carpooling experience. Built around solid engineering principles and standard tools like RxJava and Retrofit, our app needs talented Android engineers to tackle exciting features while we power through rapid growth.

Android Engineer, Retail (New York, NY)

If you’d like to be in on the ground floor of our newest mobile client experience, join us as an Android engineer. We’ve received substantial interest from Retailers who want to see us expand in that direction, and we’re in need of someone to create and help drive Square for Retail on Android.

Android Engineer (San Francisco, CA)

Yelp connects consumers with great local businesses. We’re looking for senior Android engineers to support our Android developer community and drive long-term technical initiatives.

Android Developer (London, UK)

We’re looking for Android Developers to work within our highly experienced team, delivering key product features on our global product with over 370 million registered users!

Android Developer (Atlanta, GA)

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 Mid-Senior level Android Engineers to join our team in Atlanta.


Libraries & Code

link image   kompass (

A boilerplate free router concept for android, written in Kotlin

Android-Goldfinger (

Android library to simplify Fingerprint authentication implementation


Kotlin meets LibGDX; Kotlin support for LibGDX applications.



link image   Android Studio Preview 3.1 Beta 1 & 3.2 Canary 1 (

Android Studio Preview 3.1 Beta 1 & 3.2 Canary 1 are now available to download.


Videos & Podcasts

Effective Java v3 – Item #5 (

In this mini-fragment episode, Donn talks about Item #5 of the Effective Java (Third Edition) book – Prefer Dependency Injection to Hardwiring Resources.

How FB News Feed was recently migrated to be powered by Litho (

Udi Cohen and a team of mobile engineers took advantage of Litho's properties to improve video performance and make it easier for developers to build performant UIs.