Issue #351

March 3rd, 2019

Articles & Tutorials

link image   Evaluating competition — avoiding common traps (

Juhani Lehtimäki describes why it's a good idea to evaluate your potential competitors and some common traps to avoid.

Create an API client and its tests in Kotlin Multiplatform (

In this blog post, Jorge Sánchez reviews how to create a REST API client using Kotlin multiplatform and how to create the integration tests needed to verify that our integration works correctly.

link image   Convert Sketch designs to native Android code (

Supernova turns Sketch designs into clean, production-ready Android code. Import any design, animate, set navigation and get clean Java or Kotlin code using all the cool tech such as Constraint Layout, Data Bindings and more. Save dozens of hours on your next project!

When You Should Use Null in Kotlin (

Null should be avoided in most code, but in Kotlin, null is part of the type system.  'Handstand Sam' Edwards shows that there are perfectly appropriate safe uses of null in Kotlin.

link image   Hired's 2019 State of Software Engineers Report (

Demand for Mobile Engineers is up 15% YoY. Hired's 2019 State of Software Engineer report reveals the most in-demand engineering roles, hottest coding languages, how devs feel about open source and more. Get the data:

Supporting Each Other (

Lara Martín shares her experience and the tips that helped her and other Juniors grow in a professional environment, but also, how that helps the rest of the team.

Simple, Functional Async RecyclerView Diffing (

Updates to RecyclerViews using DiffUtils can be easy to get wrong. TJ shows a simple straightforward way to get it right!

Simpler Kotlin class hierarchies using class delegation (

Thanks to delegation it’s easy to minimize the duplication in our Kotlin code. Fabio Collini looks at how this can be applied to data classes representing JSON data.

Android Modularization — the results! (

A couple of weeks ago, Emma Vanbrabant tweeted a survey to find out more about how Android developers were modularising their apps. Here are the results.

Pitfalls While Adding an Element to a Kotlin List (

Craig Russell discusses the functions add() and plus() which are available on some Kotlin collections, and how despite their similar looking names, their underlying implementations can make a big difference.

Advocating for Better Android Fragments (

Fragments still have some issues that make them difficult to deal with. In this piece, Evan Tatarka explores how fixing them would improve ease of use, and provide suggestions on how this can be done in a backward-compatible way.

Don’t be afraid (of Kotlin) (

It looks like it will be the JVM language #2 and on Android, and for many, it became the language of choice. Danny Preussler shares his experience embracing this relatively new language/

Encryption Tutorial For Android: Getting Started (

Ever wondered how you can use data encryption to secure your private user data from hackers? Look no more, in this tutorial Collin Stuart does just that!

R8 Optimization: Class Constant Operations (

There is an object type that can be manipulated by R8 at compile-time: classes. Jake Wharton describes some operations on classes that can be performed at compile time.

Lint Performance Tips (

Lint tends to get slower for every release. There's a reason for that: It keeps checking more and more things. Tor Norbye shares some tips to make sure it runs as fast as possible.



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



link image   Guide to Material Motion in After Effects (

Jonas Naimark shares a basic sticker sheet and After Effects workflow for animating user interfaces



Android Engineer (London, (UK) or distributed from similar timezone)

We’re searching for product-aware Android engineers to help us on our mission: to make money work for everyone. Within a small cross functional team, you'll work to shape how more than a million people interact with their finances. Our codebase is 98% Kotlin, modularised, and uses RxJava and Dagger.

Android Developer (Cardiff, UK)

MYPINPAD develops industry changing payment and authentication solutions. We are looking for highly skilled Android developers to join our small experienced team developing and supporting existing MYPINPAD products. If you’re interested and can work 09:00–17:00[-2,+3]UTC, we’d love to hear from you.

Senior Android Engineer (Remote but must work UTC-8)

Looking for an experienced Android developer to join an existing agile/scrum team on an very popular entertainment/streaming app. Must have Kotlin experience, able to write thoughtful unit tests, and the ability to closely follow design guidelines.


Libraries & Code

link image   Bubble-navigation (

A light-weight library to easily make beautiful Navigation Bar with a ton of customization options.

Spectrum (

Spectrum is a cross-platform image transcoding library that can easily be integrated into an Android or iOS project to efficiently perform common image operations

android-consent-sdk (

Provides configurable consent form that can be displayed as a dialog or Activity and stores consent results plus provides access methods.



link image   Build Actions for the next billion users (

Some improvements coming to Actions on Google, including new locales and improved Wavenet voices.

Helping developers harden their apps, one thwarted vulnerability at a time (

Helping Android app developers build secure apps, free of known vulnerabilities, means helping the overall ecosystem thrive. Google launched the Application Security Improvement Program five years ago, and continues to ship improvements.