Issue #290

December 31st, 2017

Articles & Tutorials

link image   Lessons learned implementing Redux on Android (

Nish Tahir introduces how Redux architecture isn't just for the web and gives examples of implementing it in Kotlin.

In and out type variant of Kotlin (

Ever wonder about the use of "in" and "out" in Kotlin Generics? This is a way to define contravariance and covariance. This article dives in to explain what that means and how to use it.

Building a distributed MIDI Controller with Android Things and Nearby API #2 (

In this second part, Tomasz Rykała gets down to implementing the hardware and software of this project.

Meaningful Motion: Circular Reveal & Shared Elements (

In this post, Jossi Wolf writes about implementing a Google-Play-like circular reveal effect with shared elements.

link image   Android Training by Big Nerd Ranch - few seats remain (

Students receive training from instructors who are also authors and developers. Gain new skills, meet other developers and even get help with a specific project.

RxAndroid: Handle Interrupt With “switchMap” (

Here's an example of how, when combining RxJava Observables, to handle canceling state anywhere along the chain.

The curious case of haunting fragments (

Seemingly simple Fragment transactions can sometimes have unintended side effects which Jeroen Mols encountered. While investigating, he’ll show how Fragment transactions actually work.

Unit testing protected lifecycle methods with Kotlin (

Danny Preussler shows a simple technique for unit testing parts of an Activity in Kotlin (for any code that isn't in your Presenter or ViewModel).

Kotlin Coding Conventions (

The new official Kotlin style guide.

Lessons from my first multi-platform Kotlin project (

Marcin Moskala recently finished a Kotlin multi-platform project with 3 different clients: Android, Web in React and Desktop in TornadoFX.

Android Architecture Components LiveData with Data Binding (

In the newest version of Android Studio, Google introduced support for LiveData with Data Binding. Paulina Szklarska shows you briefly how to use it in your project.

Briefly about RxJava Logging (

Tired of writing code to log the behavior of your Observables, Flowables, and more? Check out these Kotlin helper functions by Tomek Polański!



Senior Android Developer at Tophatter (San Francisco)

Tophatter is like eBay, but auctions last 90 seconds. We're currently selling over $1 million / day and growing quickly. We're looking for experienced Android developers who enjoy building consumer-facing apps with great people in a startup environment. Tophatter is built in Java and Kotlin.


Libraries & Code

link image   TableView (

TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells.

retrofit2-kotlin-coroutines-adapter (

Jake Wharton's Retrofit 2 CallAdapter.Factory for Kotlin coroutine's Deferred.

RxTest (

RxTest is a Kotlin library for testing RxJava

MockK (

Mocking library for Kotlin. Provides concise DSL to mock object behavior.

KotlinAndroidViewBindings (

Bindings for properties with Kotlin types (Boolean, String) to layout traits (visibility, text).

litho-kotlin (

Kotlin DSL for Litho ComponentLayout Builders. Litho is a declarative API to define UI components.

kotlin-math (

Set of Kotlin APIs by Romain Guy to make graphics math easier to write.



(Try to) Get rich quick by making an app! (

By all accounts, 2017 should have been a banner year for Looxie, Antonis Tsagaris' location-based photo request app. Here are some of the challenges he encountered.