Issue #368

June 30th, 2019

Articles & Tutorials

link image   Parcelize (

Making a class Pareclizable actually requires a little bit of effort, but there’s a Kotlin extension that simplifies things enormously. In this post Mark Allison looks at @Parcelize and how it can make our lives easier.

The 1-Star Android App Review (

Your code is complete, your tests have all passed, and your app is now published to the Google Play Store. You receive the dreaded 1-Star review. Thomas Sunderland shares some thoughts on how to handle these.

Migrating to Room in the real world — Part 2 (

In this second part on migrating to Room, David Lázaro and Sebastiano Gottardo look at adding missing tests and using extract interfaces to add a Room-based implementation for each repository.

link image   Want top companies to compete for you? 💰 (

Demand for mobile engineers increased by 15% last year. Stop job searching and join Hired. Where companies such as Wag!, Box, Grubhub and more will compete for you with salary details up front. Your next dream job is just a click away ☝️☝️☝

Testing Custom Views with Robolectric 4 (

This is a short tutorial/intro by Peter Törnhult on how to set up and use Robolectric to create Component tests for your custom views.

How to debug freezing JUnit tests (

Ever write some unit tests that "Work On Your Machine™️" but not on your CI server? Piotr Zawadzki shares some tips on how to track down issues like this.

Given When Then — Our Testing Approach (

Using Given When Then has helped Alistair Sykes to structure tests, write single responsibility tests and improve test coverage. Here he describes how it helps.

Advanced in-app billing: handling alternative purchase flows (

When designing and developing an app or game, at some point you may ask yourself if you want to monetize it. Oscar Rodriguez describes some more advanced billing flows and how to implement them.

How I made CurvedBottomSheet (

In this story, Tayfun Cesur describes how he drew and animated the curved shapes in a bottom sheet using Cubic Bezier Curves.

Dynamic Feature Modules 101 (

Moyinoluwa Adeyemi walks through the steps involved with converting a module in an app to an Android Dynamic Feature module and all the pain points experienced.

Migrating to Gradle Kotlin DSL - Groovy Closure (

While migrating the real-life project’s Gradle build from Groovy to Kotlin, Eugene Petrenko collected some useful recommendations, code snippets, and explanations.

ViewModels with Saved State, Jetpack Navigation, Data Binding and Coroutines (

ViewModels promote better architecture by separating the data from your UI, making it easy to handle UI lifecycles while also improving testability. In this article, Lyla Fujiwara goes over four integrations that can help improve your app.

Build TensorFlow Lite model with Firebase AutoML Vision Edge (

In this post, Mirek Stanek builds a simple classification model for a small subset of GTSRB traffic signs dataset, preview it’s structure, and put it into the app to test the implementation.

On-Device Debugging Part II: Timbeeeeeeer! (

Zarah Dominguez and her team have been building a Developer Options screen for their app. Here she describes how they integrated Timber logging.

On-Device Debugging Part I: Now It's On, Now It's Off (

Zarah Dominguez and her team have been steadily building a Developer Options screen for an app. In this series of posts, she shares what these various options are and how they were created.



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



link image   Into the Dark (

Explore new color palettes, revamped contrast, and increased legibility as four Google products adopt Material’s dark theme.

On the Democratization of Design (

To democratize design, we need intelligent design tools and ecosystems that allow for the cooperation between all stakeholders, as well as a community that is open to share and learn from one another by building and sharing reusable and intelligent design components



Android Developer (m/f/d) - MOIA (Hamburg, Germany)

Our Operations domain has the goal, to build the most efficient and environmentally friendly fleet operations in the world. For that we need experienced developers to build Android solutions that integrate deeply with our own fleet of vehicles. So, grab your Jetpack and let’s have an instant Pie.

Android Developer (Düsseldorf)

We believe in achieving innovation through constant experimentation and are seeking an experienced software engineer with the passion and expertise to help push us to greater heights. If you think you can drive trivago’s Android app to the next level, apply today!

Android/Kotlin Developer (Remote)

Work on incredible Android projects for the world's leading brands. Be part of the world's most energizing community for developers. And do it all from anywhere.

Software Engineer - Android (Mountain View, CA)

Quora's mobile apps are critical platforms for sharing and growing the world's knowledge to millions of users. We are looking for Android engineers who are excited about both building user-facing product and designing and implementing abstractions to scale mobile development across the company.

Android Developer (Cardiff, UK and/or remote)

MYPINPAD develops industry changing payment and authentication solutions. We are looking for highly skilled Android developers to join our small experienced team developing & supporting existing MPP products. 100% Kotlin. International candidates considered (potentially as long term consultants)


Libraries & Code

link image   Open Source Food Delivery and Hyperlocal Platform (

An open source app for a food delivery platform written in Java and Kotlin with a nice stack of libraries (Butterknife, Retrofit, Ok-HTTP, Picasso, Dagger, Mapbox android SDK).

droidcon-Berlin-2019-unofficial (

Unofficial app for droidcon Berlin 2019

CurvedBottomSheet (

Curved-Waved-Animated BottomSheet using Cubic Bezier Curves

RVcompose (

Extensible Kotlin DSL for building dynamic reusable UI components with RecyclerView

deblibs-gradle-plugin (

A Gradle plugin that creates Github issue and Slack message for outdated dependencies so they can easily be tracked and manually upgraded.



OkHttp 4 Goes Kotlin (

Jesse Wilson describes OkHttp 4, which changes everything and nothing after a complete switch to Kotlin.


Videos & Podcasts

Cross platform development talk with Jesse Wilson (

Kaushik decides to hit record on a skype call he has with friend of the show Jesse Wilson.