Issue #335

November 11th, 2018

Articles & Tutorials

link image   What Are Kotlin Contracts and How Are They Useful? (

Anastasiia Zhuravleva shows that the main purpose of Kotlin contracts is to help the Kotlin compiler with complicated code analysis in cases where the developer knows more details about the code than the compiler can see.

5 common mistakes when using Architecture Components (

Michal Baran describes 5 subtle oversights with more or less serious consequences - that are worth keeping in mind to avoid running into some problems in the future.

link image   Mobile testing: you’re probably doing it wrong if (

If you can’t test web, native & hybrid mobile apps in a common platform. If you can’t see test data for real devices (both on-premise & in the cloud), or if you can’t use automation frameworks/mobile tools you already have and love. It’s time to check out Kobiton.

Detecting Kotlin Code Smells with Detekt (

In this article, Mario Sanoguera de Lorenzo shows how to improve your Kotlin codebase with Detekt, a Kotlin Static Analysis Tool.

link image   PSPDFKit — The Industry-Leading Mobile PDF Library (

Trusted by Atlassian, DocuSign, IBM, and more — PSPDFKit is the industry-leading PDF library that helps you achieve seamless viewing, annotation editing, and fast indexed search in PDFs. Download a trial and discover why thousands of developers build their apps with PSPDFKit.

Effective migration to Kotlin on Android (

This article by Aris Papadopoulos presents a collection of practical advice and tricks to help you out in the transition of your Android Java code to Kotlin.

How To Customize Logcat Appearance in Android Studio (

The default color scheme for logcat output in Android Studio only uses a couple of colors so most of the log looks exactly alike! By applying a new color scheme, it makes it significantly easier to find the output you might be looking for. It’s also a lot nicer to look at, in general.

A guide for Android ImageView ScaleType and adjustViewBounds (

Marcos Holgado dives into the meaning of the various flags used in an ImageView's scaleType attribute.

Room with a View (

Mike Nakhimovich goes over the good, the bad, and the ugly of using Room.

Get your app ready for foldable phones (

Here are a set of recommendations and information to make sure your application provides a great user experience on the new foldable form factor.

Kotlin Coroutines Concurrency (

Simon Wirtz writes about Kotlin Coroutines and how concurrency is different from parallelism.

Playing with elevation in Android - Part 2 (

Sebastiano Poggi's ambition had been crushed by the cruel design of elevation shadows APIs, which impose some severe limitations, thus making even the most lively shadow a pale disappointment. Except that he found some workarounds!


Ivan Morgillo describes how he started on a project without any documentation of builds, cleaned it up and got a CI service up and running.

Investigating Unauthorized Screenshots (

In this post Michael Altfield investigates the different methods of detecting and preventing unauthorized screenshots. TL;DR: If your app has sensitive data in any way, consider setting FLAG_SECURE, which prevents android from taking snapshots of your app.



link image   UX best practices: How to design scannable app screenshots (

Girish Rawat studied the top 100 apps and their screenshots using the data gathered by Incipia. Here he takes a random app and shows through many examples how the screenshots can be improved.

Eva Icons (

Eva Icons is a pack of more than 480 beautifully crafted Open Source icons for common actions and items. Download to use them in your digital products for Web, iOS and Android



Senior Android Developer (London)

RESPONSIBILITIES: Own and build new features on a well-established Android application. Take architectural and technical decisions on the development of new features. Maintain existing features, and ensure app stays stable. Lead a team of 2 Android engineers.

Senior Android Developer (£38k-50k) (Brighton, UK)

Hello! We're Ocasta - a friendly team who create things for apps, web and everything in-between. We are looking for an experienced Android developer with good Kotlin skills who can help us deliver great Android apps.

Software Engineer, Android (San Francisco)

We are looking for an experienced Android Engineer who will help us level up the Grammarly Keyboard and its companion app to a world-class user experience. You will partner closely with the design team from the ideation stage to ultimately bring your ideas to life.


Libraries & Code

link image   Transition X (

Declarative Kotlin DSL for choreographing Android transitions

MotionLayoutCarousel (

Simple Carousel built with Android MotionLayout

CookieBar2 (

CookieBar2 is a lightweight library for fancy toast messages at the top or bottom of the screen

PreferenceRoom (

Android compiler Library for managing efficiently and structurally SharedPreferences persistence.



link image   Unfolding right now at #AndroidDevSummit! (

Many interesting announcements from Android Dev Summit!

Important fix for novoda/bintray-release plugin (

A new version of novoda/bintray-release Gradle plugin has been released that fixes the compatibility issue with Android projects running on Gradle 4.5+.

Webcast: What's new in Gradle 5.0 (

Gradle 5.0 is much faster and more memory efficient than previous versions of Gradle, has better tools to inspect and manage transitive dependencies, and a new Kotlin DSL. This 1-hour live webcast demonstrates 4 key themes of Gradle 5.0. Sign up before Nov 29th.

Developing Android Apps with Kotlin (

Free course by Google: Learn to architect and develop Android apps in the Kotlin programming language using industry-proven tools and libraries. With these techniques, you'll create apps in less time, writing less code, and with fewer errors.

Android Studio 3.3 Beta 2 is available (

Android Studio 3.3 Beta 2 is now available in the Beta channel

R8, the new code shrinker from Google (

Google is investing in improving code shrinking to make it faster and more efficient. We're excited to announce that the next generation code shrinker, R8, is available for preview as part of Android Studio 3.3 beta.


Videos & Podcasts

link image   ConstraintLayout 2.0 (

ConstraintLayout 2.0 was recently released at Google I/O, this talk by Andrew Kelley covers the new aspects of v2.0 and give practical examples of how to use it within your apps.

Android Dev Summit 2018 (

Watch all the talks from Android Dev Summit 2018

Keynote: Iterative Mobile Development (

In the web world, developers can ship and iterate on features very quickly. How can mobile developers use this same process when there is overhead to doing a full release? Learn how Andrea Falcone and her team do iterative product development.