Issue #420

June 28th, 2020

Articles & Tutorials

link image   The forgotten art of construction (

Danny Preussler tries to bring some sanity to the wild world of excessive constructor parameters due to our tools, like Dagger.

Jetpack App Startup: keep your startup logic organized (

Bevan Steele takes a look at the new Jetpack App Startup library, which helps you better control all the startup initialization in your app.

Exploring Hilt: Application Level Code Generation (

Joe Birch starts taking deeper dives into how Hilt is working under the hood. In this post, he examines the @HiltAndroidApp annotation.

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

Going deep on Flows & Channels — Part 2 (

In this series of articles, Julián Ezequiel Picó dives deeper into the Channel’s and Flow’s API. In part 2, he continues with Flows.

Going deep on Flows & Channels - Part 1 (

In this series of articles, Julián Ezequiel Picó dives deeper into the Channel’s and Flow’s API. In part 1, he starts with Cold & Hot Streams.

Surface Duo testing tips & tricks (

Cesar's post contains some tips to help automate the Surface Duo emulator for testing

Introducing Luch — a New Library for BLE Beacon Scans on Android (

Artem Gapchenko introduces a new library for BLE beacon scans on Android.

NumberPicker (

Recently Mark Allison needed to use a NumberPicker, and the experience was quite a frustrating one and in this post, he looks at some of the issues with it, and some workarounds.

Never Use Foo, Bar, Baz, etc. in Software Documentation (

Vasiliy Zukanov shares a convincing argument to avoid nonsense placeholder names in documentation & code samples, and instead use more meaningful ones!

Analyze Stack Traces in Android Studio (

Segun Famisa shows a quick way we can use Android Studio to make it easier to debug errors using the built-in “stack trace analysis” tool.

Generics in Kotlin (

Magda Miu's detailed overview of Kotlin Generics.

Making The Most of a Rewrite (

If you find yourself at the foot of a major app rewrite, it’s worth spending meaningful time designing and building your core architecture before onboarding features. The Snap Android team describes their approach.

Introducing Hephaestus (

The team at Square wanted to make working with Dagger easier and the cycle from above shorter. Enter Hephaestus, a Kotlin compiler plugin that automatically adds Dagger modules and component interfaces to the required Dagger components.

Fueled Reactive apps with Asynchronous Flow — Part 5 (

Raul Hernandez Lopez truly believes moving logic away from the view would make our code more testable. In this 5th part, he walks us through a View Delegate Implementation.


Libraries & Code

luch (

A somewhat simplistic library built with only one purpose in mind - monitor nearby beacons when the app's in the foreground mode.

hephaestus (

Hephaestus is a Kotlin compiler plugin to make dependency injection with Dagger easier by automatically merging Dagger modules and component interfaces.



link image   Announcing the winners of the #AndroidDevChallenge (

As developers continue to help shape new frontiers on Android, Google revived the Android Developers Challenge in 2019, with a focus on “Helpful Innovation,” powered by on-device machine learning. Here are the winners!

Productive Server-Side Development with Kotlin Programming Language (

The Kotlin team has just launched a new Kotlin Server page with info about frameworks, tools, use cases, tutorials, and more!


Videos & Podcasts

link image   Actions Builder & Actions SDK (

Actions Builder and Actions SDK enable you to develop, test and deploy conversational Actions

Android Developers Backstage: Machine Learning Learning (

In this episode, Chet and Tor talk with Hoi Lam and Matej Pfajfar about machine learning on Android

Android Makers 2020 (

All the videos from Android Makers 2020