Carefully curated news for Android developers

Mobile Hackers.io
22 min readDec 22, 2018

Introducing Constraint Layout 1.1

By @Sean McQuillan

Constraint Layout simplifies creating complex layouts in Android by making it possible to build most of your UI using the visual editor in Android Studio…

How we brought down the size of our app from 31 MB to 2.6 MB and what it taught us

By @Irshad P I

Kotlin avoids entire categories of Java defects

By @Dan Rusu

This article looks at many categories of Java bugs that Kotlin prevents in addition to null safety. My first article provided a brief introduction to…

Introducing Android 9 Pie

By @Dave Burke

Posted by Dave Burke, VP of Engineering

https://android-developers.googleblog.com/2018/08/introducing-android-9-pie.html

Designing notifications for apps

By @Shashank Sahay

Explore different notification models and when to use which

Prefetch Text Layout in RecyclerView

By @Chris Craik

To layout text on Android, the system does a lot of work. Each glyph is resolved — dependent on…

Be Reactive: Develop your next app with RxJava

By @Hemant Joshi

Part I of the ReactiveX crash course on Android

Why do people still trust Cheetah Mobile in 2018?

By @Till Kottmann

Structured concurrency

By @Roman Elizarov

Today marks the release of a version 0.26.0 of kotlinx.coroutines library and an introduction of structured concurrency to Kotlin coroutines. It is more…

Releasing Android Apps Like A Pro

By @Aritra Roy

Previously, we have talked a lot about Android app development in this blog, but today let’s talk a…

Learning Android Development in 2018 — Part 1

By @Rajesh Pattanaik

Android: a 10-year visual history

Google’s Android operating system has undergone a pretty incredible metamorphosis since it debuted on the T-Mobile G1 on October 22nd, 2008. A decade might…

https://www.theverge.com/2011/12/7/2585779/android-10th-anniversary-google-history-pie-oreo-nougat-cupcake

How we recreated Amazon Go in 36 hours

By @Subhan Nadeem

My colleagues and I wanted to create something that would make people go “wow” at our latest…

Animating on a Schedule

By @Nick Butcher

Animations in the Google I/O app

Fuck you Android Framework

By @The truth

Fuck you Android Framework for those horrible XML I have to write for each screen density. Fuck you for your useless layout editor that generates spaghetti…

Previewing Android P

By @Dave Burke

Looking ahead, today we’re sharing the first developer preview of Android P, the newest version of Android. It’s an early baseline build for developers…

https://android-developers.googleblog.com/2018/03/previewing-android-p.html

Services. The life with/without. And WorkManager.

By @Yonatan V. Levin

25 new Android libraries and projects to check at the beginning of 2018

By @Michal Bialas

From Java to Kotlin and Back Again

By @allegro.tech

https://allegro.tech/2018/05/From-Java-to-Kotlin-and-Back-Again.html

Exploring the v28 Android Design Support Library Additions

By @Joe Birch

Android Pie SDK is now more Kotlin-friendly

By @James Lau

When using the Java programming language, one of the most common pitfalls is trying to access a member of a null reference, causing a NullPointerException…

https://android-developers.googleblog.com/2018/08/android-pie-sdk-is-now-more-kotlin.html

Dagger 2 for Dummies in Kotlin (with 20 lines of code)

By @Elye

Spantastic text styling with Spans

By @Florina Muntenescu

To style text in Android, use spans! Change the color of a few characters, make them clickable…

Swift vs. Kotlin — the differences that matter

By @Krzysztof Turek

Many of you have probably seen this comparison of Swift and Kotlin: http://nilhcem.com/swift-is-like-kotlin/. It looks quite interesting, right? Yes, I…

Kotlin and Linear Programming Part I — Binary Programming

In November 2017, I spoke at KotlinConf proposing Kotlin as a data science platform. When I was planning the code examples for the presentation, there…

https://tomstechnicalblog.blogspot.com/2018/01/kotlinforoperationalplanningandoptimiza.html

Google is redefining mobile with artificial intelligence

By @Owen Williams

Why I Won’t Upgrade My Phone Until It Can Turn into a Magic Pony

By @Jessica Powell

The next generation of phones will…

#31DaysOfKotlin — Week 1 Recap

By @Florina Muntenescu

The more Kotlin code we write, the more we love it! Kotlin’s modern language features together with…

Rise of Kotlin: The Programming Language for the Next Generation

By @David Smooke

Drawing a Parallel Between Linux and Blockchain

By @Phil Zamani

What the history of open-source tells us about the…

A Guided Tour inside a clean architecture code base.

By @Yossi Segev

Google I/O 2018 app — Architecture and Testing

By @Jose Alcérreca

The Google I/O app is an open source project which shows the schedule and…

Kotlin Multiplatform for Android and iOS

By @kotlindevelopment.com

https://www.kotlindevelopment.com/kotlin-multiplatform-in-action

Introducing Android KTX: Even Sweeter Kotlin Development for Android

By @Jake Wharton

The portion of Android KTX that covers the Android framework is now available in our GitHub repo. We invite you to try it out to give us your feedback…

25 new Android libraries, projects and tools worthy to check in Spring 2018

By @Michal Bialas

Comparing APK sizes

By @Dharmin Majmudar

There are so many ways to make mobile apps ranging from direct platform specific development (using Java and Kotlin for Android, and ObjC and Swift for…

Mobile Patterns — UI UX Inspirational Gallery for iOS and Android

By @mobile-patterns.com

https://www.mobile-patterns.com

Drawing a rounded corner background on text

By @Florina Muntenescu

Let’s say that we need to draw a rounded corner background on text, supporting the…

What’s your text’s appearance?

By @Nick Butcher

Understanding how to declaratively style text on Android.

Understanding Android’s vector image format: VectorDrawable

By @Nick Butcher

Previewing Material Design 2.0

By @Raveesh Bhalla

I could (and probably should), wait a couple of weeks until Google I/O before publishing this post where I anticipate we’ll be hearing a lot about MD 2…

Live-Stream with Ilya Yashin, CEO of World Wi-Fi!

By @World Wi-Fi

Exploring Kotlin: useful standard library functions

By @Adam Arold

Java does not have them, so you might ask why are these useful? Ever wanted to return two values from a function? With Pairs, this is rather easy to accomplish…

Evolution of Android Homescreen and Navigation

By @E.K. Chung

A look at how key features of Google’s core mobile operating system have changed over the last ten years

World Wi-Fi weekly digest: a trip to Elbrus and new strategic partnerships

By @World Wi-Fi

Fragment Transitions

By @Chris Banes

Getting them working

Styling internationalized text in Android

By @Florina Muntenescu

In a previous article we talked about styling characters or paragraphs in Android using…

A Roadmap To Become A Better Android Developer

By @Amit Shekhar

Android Tools Attributes — Hidden Gems of Android Studio

By @Orkhan Gasimli

Build awesome animations with 7 lines of code using ConstraintLayout

By @Leonardo Pirro

Jake Wharton — Android’s Java 9, 10, 11, and 12 Support

https://jakewharton.com/androids-java-9-10-11-and-12-support

LiveData with SnackBar, Navigation and other events (the SingleLiveEvent case)

By @Jose Alcérreca

A convenient way for a view (activity or fragment) to communicate with a ViewModel is to use LiveData observables. The view subscribes to changes in LiveData…

How we built the new GO-JEK Rider App

By @Anup Cowkur

This is a caterpillar:

Mastering Shadows in Android

By @Mert Şimşek

If we want to create better apps, I believe that we need to follow material design guideline.In general…

Introduction to MotionLayout (part I)

By @Nicolas Roard

MotionLayout is a new class available in the ConstraintLayout 2.0 library to help Android developers manage motion and widget animation in their application…

Mastering Android Themes — Chapter 1

By @Gaurav

Going FLOSS-only on Android

By @codingquark.com

https://codingquark.com/floss/2018/07/04/android-floss-life.html

Android Interview Questions Cheat Sheet — Part I

By @Anitaa Murthy

How Discord Renders Rich Messages on the Android App

By @Andy Garron

Scroll your Bottom Navigation View away with 10 lines of code

By @Valentin Hinov

How I drew custom shapes in bottom bar

By @Nour El Islam SAIDI

Recently, I received a design that contains BottomNavigationView. Until here everything is…

How I reduced my Android build times by 89%

By @Nishant Srivastava

This isn’t a click-bait article! I will explain how to make your Android build time…

Just give me a sharp knife Google! *

By @Danny Preussler

RecyclerView — More Animations with Less Code using Support Library ListAdapter

By @Craig Russell

ListAdapter is a new class bundled in the 27.1.0 support library and simplifies the code required to work with RecyclerViews. The end result is less code…

Get your app ready for foldable phones

By @Leo Sei

As you may have heard from the Android Dev Summit, we announced that we’re expanding support in Android to include Foldables, in preparation for upcoming…

https://android-developers.googleblog.com/2018/11/get-your-app-ready-for-foldable-phones.html

LiveData beyond the ViewModel — Reactive patterns using Transformations and MediatorLiveData

By @Jose Alcérreca

tools:title=”LayoutPreview”

By @Vladimir Jovanović

As every Android developer, I also started building my layouts by hard-coding values into them. Later on, I…

A Self Taught Programmer’s Journey

By @Amit Shekhar

My transition from a Civil Engineer to a Software Engineer.

A few facts about Companion objects

By @David Blanc

One of the big changes that Kotlin brought to Java developers is the absence of the static modifier. Contrary to Java, Kotlin classes don’t really allow…

Why to choose MVVM over MVP — Android Architecture

By @Ankit Sharma

Implementing Google’s refreshed modal bottom sheet

By @Arthur Nagy

This year’s Google I/O introduced an improved version of Material Design to the curious public in Mountain View and across the globe. With the new release…

Single Activity: Why, When, and How (Android Dev Summit ‘18)

5 common mistakes when using Architecture Components

By @Michal Baran

Effective Java in Kotlin, item 1: Consider static factory methods instead of constructors

By @Marcin Moskala

Exclusive: Inside The New Google Podcasts Strategy That Could Double Audiences Worldwide

By @Steve Pratt

Why starting a new Android project with Java is a bad idea

By @Juhani Lehtimäki

I’m a programming language sceptic. i.e. I don’t jump on every new language and try to learn five new ones every year. When I find a good one I’ll stick…

Restitching Plaid

By @Nick Butcher

Updating Plaid to modern app standards

Polishing UI: Android StateListAnimator

By @Mert Şimşek

Most of the time, we don’t spend time to develop our Android app’s UI, we just drag and…

A year as Android Engineer

By @Lara Martín

Challenges of my first year working as a developer

The Missing Google Sample of Android “Architecture Components” Guide.

By @Philippe BOISNEY

Underspanding spans

By @Florina Muntenescu

Spans are powerful concepts that allow styling text at character or paragraph levels by providing access to components like…

Using Android Fragments in 2018

By @Daniel Novak

No, I’m not crazy. And yes — I know there are dozens of frameworks and approaches that are trying…

Android Emulator — AMD Processor & Hyper-V Support

By @Jamal Eason

Since the major revamp of the Android Emulator two years ago, we have focused on delivering a fast and feature-rich emulator to help you build great app…

A guide to the Google Play Console

By @Dom Elliott

Whether you’re in a business or technical role, in a team of 1 or 100, the Play Console can help you with more than publishing

Lessons learnt (the hard way) using Firebase RealTime Database

By @Pablo A. Martínez

Top Android Tech To Learn In 2018

By @Amit Shekhar

Kotlin Cheat Sheet

By @Marcin Moskala

As you know, Kot. Academy mission is to simplify Kotlin learning — we do our best to do it!

A Brief Summary of thoughts on Clean Architecture and MVP

Originally published in WahibHaq blog. Roughly 3 months ago I was going through a job search process for Android dev position and went through various…

Draw a Path: Rendering Android VectorDrawables

By @Nick Butcher

In the previous article, we looked at Android’s VectorDrawable format, going…

Java is too old, What should you learn in 2018?

By @Rajasekar Elango

Java has become legacy. It can’t evolve in to a modern language while keeping its backward compatibility. But it has given us a wonderful JVM ecosystem…

Awesome List Of Online Tools For Android Developers

By @Naveen T P

Mastering Android context

By @Gaurav

Context in Android is one of the most used and abused objects. But most of the articles on the web focus on the definition of what it is. I could not find…

Modern Android development with Kotlin Part 3

By @Mladen Rakonjac

It is really hard to find one project that covers all…

Mastering the World of Android Testing (Part 1)

By @Aritra Roy

Introducing MvRx: Android on Autopilot

By @Gabriel Peal

The new framework for Android is fully native but eliminates 50–75% of product code.

Writing a modular project on Android

By @karntrehan

When we create a new project on Android Studio, it gives us one module, the app module. This is…

Become an Android Painter

By @T.Surkis

Deep dive into how custom views work and how you can create one.

How I made Ticket View — a Custom View for android

By @Vipul Asri

My favorite examples of functional programming in Kotlin

By @Marcin Moskala

Switching from iPhone 7 to Google’s Pixel 2 XL

By @Daniël van der Winden

Last October, Google announced a line of products that…

Kotlin 1.2.20 released

By @blog.jetbrains.com

https://blog.jetbrains.com/kotlin/2018/01/kotlin-1-2-20-is-out

Kotlin coroutines vs RxJava: an initial performance test

By @Andrea Bresolin

The death of Presenters and the rise of ViewModels (AAC).

By @Mario Sanoguera de Lorenzo

Handlebars in UI Design

By @Shankar

A new kind of element which has risen in UI design

Deep Dive into Android Services

By @Nazmul Idris (Naz)

Android O, N and below component lifecycles and background tasks

Write Once, Run Everywhere Tests on Android

By @Jonathan Gerrish

At Google I/O this year, we launched AndroidX Test, part of Jetpack. Today we’re…

Kotlin Coroutines patterns & anti-patterns

By @Dmytro Danylyk

Decided to write about several things which in my opinion…

Android Design: Best Way To Show Progress using Shimmer Effect

By @Anurag Dhunna

A Better Way to Launch Activities on Android

By @Zak Taccardi

Single Responsibility + Kotlin!

Perks of being an Associate Android Developer

By @Cyril Pillai

Note: This is not a guide explaining the format of the exam or how to crack it…

Building a custom view — a practical example

By @Guy Griv

When you are tasked with implementing a unique design…

Often Ignored Stuff — Android Data Structures

By @Ankit Sharma

Android App Release Checklist For The Production Launch

By @Amit Shekhar

How to Create a Zen Experience on Your Android Phone

By @Chris Jennings

Take back control of your phone (and your…

Introducing Android Sunflower

By @Tiem Song

A gardening app illustrating Android Jetpack development best practices

On “From Java to Kotlin and Back Again”

By @zsmb.co

https://zsmb.co/on-from-java-to-kotlin-and-back-again

Immerse Yourself in the Android Developer Community

By @Tyler McCraw

30 summertime Android libraries and tools which you don’t want to miss in 2018

By @Michal Bialas

Make your custom view 60fps in Android

By @Dmitriy Rabetckiy

How often did you have to work with 2D graphics creating your own custom View? I’m sure in a…

Simple asynchronous loading with Kotlin Coroutines

By @Erik Hellman

One of the most challenging things in software development is anything that is asynchronous. Unfortunately, humans are really bad at multi-tasking. Just…

Adopting Kotlin

By @Tiem Song

Incorporating Kotlin in your large app

Loaders in Support Library 27.1.0

By @Ian Lake

For Support Library 27.1.0, I rewrote the internals of LoaderManager, the class powering the Loaders API and I wanted to explain the reasoning behind…

RxAndroid’s New Async API

By @Zac Sweers

How I Switched from iOS to Android and I’m Enjoying It

By @Maciej Lipiec

This story is a follow up to my article How Apple is Crippling Its Old Devices with New Software.

Kotlin extension function generation 🚀…

By @Bartek Lipinski

here’s why it’s a game changer for Annotation Processing.

Android Apps Develop Fast(er) and Easier (saves 30 min daily)

By @Gopi Krishna

MVC/MVP/MVVM/CLEAN/VIPER/REDUX/MVI/PRNSAASPFRUICC — building abstractions for the sake of building abstractions (and…

By @Gabor Varadi

Publishing your Android, Kotlin or Java library to jCenter from Android Studio

By @Wajahat Karim

A detailed how-to guide on publishing your Android libraries on Bintray and jCenter

Providing a safe and secure experience for our users

By @Paul Bankhead

We focus relentlessly on security and privacy on the Google Play Store to ensure Android users have a positive experience discovering and installing apps…

Experimenting with Kotlin, the Architecture Components & Material Design

By @Philippe BOISNEY

Let me give you some context. I had this side project, CookMinute, a French app helping people to eat better, which I started just after my MSD 4 years…

5 Reasons Why N26 is Moving to Kotlin

Like any modern technology company, we use many tools to bring our banking platform to life. Many of our backend services, for example, are implemented…

Modality Is the One UX Concept That Most Designers Don’t Fully Understand

By @Fabian Sebastian

Bye bye Dagger 👋

By @Vasilis Charalampakis

When writing an Android application there comes a time, where you need to pick libraries. You always have in mind that these…

StateListAnimator — a Powerful Little Tool for Elevation Animation

By @Juhani Lehtimäki

What’s new in constraint layout 1.1.0

By @Pankaj Rai

Constraint layout is certainly the best layout available for building a responsive UI — a…

The DICEGAME Team. Members

By @Team DICEGAME

People, who make it a reality.

Sergey Brin and Steve Horowitz discuss the upcoming Android SDK (2007)

Constraint Layout performance

By @Maciej Kozłowski

My last article was about developers’ mistakes related with communication between Activities and Fragment…

Leaving Apple & Google: /e/ first beta is here!

By @Gaël Duval

I exchanged RxJava for coroutines in my Android application. Why you probably should do the same

By @Paulo Sato

RxJava is like a bazooka and most applications don’t use half of its firepower. Here’s how to change it to…

SQLite/SQLDelight ❤️ Kotlin Multiplatform

By @Kevin Galligan

A few weeks back I posted a piece about Mobile Oriented Architecture and how I think coding products for screens will evolve. At the end I said I was keeping…

Android Architecture Components — Room and Kotlin

By @ritesh singh

All the things we’re doing wrong but take for granted: a retrospective glance at Android development

By @Gabor Varadi

My Google I/O experience with Google and Udacity

By @Apoorva Tiwari

by Apoorva Tiwari

Exploring Jetpack: Scheduling tasks with Work Manager

By @Keval Patel

Android NDK: Using C/C++ Native Libraries to Write Android Apps

By @JetRuby Agency

Critical mistakes to avoid in Android development

By @Varun Barad

It’s time to ditch Loaders in Android

By @Daniel Novak

The idea of Loaders never really caught on. They were introduced with Honeycomb around 2011…

Why Should I Learn Android?

By @Oleksii Fedorov

You have firmly decided that you want to learn to create applications for Android using Kotlin. You are super…

Where We Stand & What’s Next for Kotlin

Andrey Breslav, the Kotlin project lead, gives an overview of what Kotlin is today, as a tool for developers and as an ecosystem. He then takes a peek…

https://academy.realm.io/posts/andrey-breslav-whats-next-for-kotlin-roadmap

Introducing Anchor Listener Support: Now you can get paid to podcast

By @Anchor

Starting today, any podcaster…

Android : Colors and Multiple Themes

By @Vinit Agrawal

Recently, we came across a bunch of Android projects which required a change of theme or…

Swift for Android: Our Experience and Tools

By @Readdle

Early last week, we launched Spark for Teams — a revolutionary email client that’s…

Introducing Smart Launcher 5

By @Vincenzo Colucci

After 2 years of hard work, today we are proud to announce the most important Smart Launcher update ever.

Hiding API keys from your Android repository

By @Varun Barad

Tiny guide to help you avoid leaking your API keys to…

Announcing new SDK versioning in Google Play services and Firebase

By @Doug Stevenson

Starting today, the Android SDKs for Google Play services and Firebase will be using a new build and versioning scheme. This may require some changes…

Build your Android app Faster and Smaller than ever

By @Jirawatee

MotionLayout + ShapeOfView = 😍

By @florent champigny

By using MotionLayout you can give a totally different and fluid style to your application. Forget…

ALC: Announcing Google Africa Scholarships with the Andela Learning Community

By @Chimdindu Aneke

We still believe the best investment you can make is in people.

Code Clean-up with Kotlin

By @Gabor Varadi

I haven’t written a full-fledged article since that article on Dagger in November! Clearly this can’t go on like…

Creating Android Game From Scratch With LibGDX(box2d)

By @JetRuby Agency

Simplify your Android code by delegating to sealed classes

By @Péter Pandula

Don’t you just hate having to religiously go through the same rituals when working with Bundles, Intent extras or SharedPreferences? Copy-pasting the same…

Android Tasks: Once and for all

By @Yash Soni

Tasks, Back Stack, Affinity, Intent Flags, and everything else

Building a video player app in Android (Part 1 / 5)

By @Nazmul Idris (Naz)

With ExoPlayer, Playlists, MediaSession, Audio Focus, PIP

Discontinuing support for Android Nearby Notifications

By @Ritesh Nayak M

Three years ago, we created Nearby Notifications as a way for Android users to discover apps and content based on what is nearby. Our goal was to bring…

Android Dev Summit

Save the Date! Android Developer Summit 2018 is coming to the Computer History Museum in Mountain View, California on November 7–8, 2018. Registration…

Don’t miss any important Android development related news :
👉 https://mobilehackers.io/news?tag=android

--

--