Issue #406

March 22nd, 2020

Articles & Tutorials

 
A first look at AndroidX Activity Result APIs (medium.com)

Milosz Lewandowski a look at the newly introduced Activity Result APIs, which add an ability to handle requests for Activity result in a type-safe way.

 
link image   AnimatedIcons: Archive (blog.stylingandroid.com)

Mark Allison modifies a flat animation to take on a three-dimensional appearance.

 
Dynamic Delivery in multi-module projects at Bumble - Part 1 (medium.com)

In this post you'll learn about how to dynamically deliver parts of your app (e.g. A/B Tests or country specific code for recognising banking card numbers). You'll learn about how SplitInstallManager does the heavy lifting and what for caveats you have to look out for. Be sure to check out the second part as well.

 
Dynamic Delivery in multi-module projects at Bumble - Part 2 (badootech.badoo.com)

In this follow up you'll learn a bit about Badoos take on RIB (Router, Interactor & Builder) and how they split up a real world application.

 
link image   Jetpack Compose: State (alexzh.com)

In this post by Alex Zhukovich you'll learn how to put state in your Jetpack architecture. You'll learn about @Model and @Composable functions and how to use them to declaratively create your UI.

 
Data Privacy for Android (www.raywenderlich.com)

In this data privacy tutorial for Android with Kotlin, Kolin Stürt shows how to protect users’ data.

 
A Subtle Memory Leak - Fragment, RecyclerView and its Adapter (charlesmuchene.hashnode.dev)

Understanding and using framework callbacks correctly can help mitigate common errors. Charles Muchene shows how to employ tools and libraries such as the Android Studio profiler and LeakCanary to assist in uncovering hidden issues within your code.

 
Make impossible states impossible (dev.to)

Pin-Sho Feng shows how to leverage the Kotln compiler to ensure that we can only have valid models so that it's impossible to have incorrect cases.

 
Speeding up the detekt task in a multi-project Gradle build (madhead.me)

This article shows you how to significantly speed up the detekt task in a multi-project Gradle build.

 
Random Musings on the R Developer Preview 2 (commonsware.com)

Mark Murphy takes a look at Android R Developer Preview 2

 
Unit Testing Delays, Errors & Retries with Kotlin Flows (medium.com)

Mohit shares how to test delays, retries, and errors with Flows. He's also added useful tips and things to watch out for when unit testing.

 
Building an App with Kotlin Multiplatform: Building our Authentication module (joebirch.co)

In this blog post, Joe Birch builds the first Kotlin Multiplatform module which will be used to handle the networking layer of an authentication feature.

 
Full-Screen Intent Notifications (www.giorgosneokleous.com)

Giorgos Neokleous describes full-screen intents, as well as how and when they should be used.

 
Implementing the Motion System With Material Components for Android (proandroiddev.com)

A Deep Dive by Somesh Kumar into Motion Transitions with the new update of the Material Design Component Library.

 
Android’s CameraX Jetpack Library is now in Beta! (medium.com)

Oscar Wahltinez provides a brief overview of CameraX Jetpack Library and shares what’s new in Beta.

 
Server-Driven UI using Jetpack Compose (proandroiddev.com)

Vipul Asri shows how to use the power of Jetpack Compose to build dynamic screens.

 
Enum vs Sealed class — which one to choose? (blog.kotlin-academy.com)

Marcin Moskala enumerates the advantages of both enums and sealed classes.

 
Android's Built-in ProGuard Rules: The Missing Guide (www.zacsweers.dev)

Android's build tools come with a few ProGuard facets for your release builds. In this post, Zac Sweers covers what they all are, what's inside 'em, and what you can do with this knowledge!

 
Introduction to Dagger DI (medium.com)

In this article, Shreyas Patil explains the basic concepts of the popular Dependency Injection framework Dagger by using a simple example.

 
Defending Your In-Background App When Android OS Kills It (wajahatkarim.com)

Android OS will kill your app in the background to reclaim the resources and memory. Wajahat Karim shows how to handle it as a developer.

 

Sponsored

 
link image   Place a sponsored post & reach over 66k Android devs (androidweekly.net)

 

Jobs

 
Android Software Engineer (New York, NY / Remote)

SCRUFF & Jack'd, two of the largest gay social dating apps on Android with more than 20M members worldwide, are looking for experienced Android developers to work on the next generation of their app.

 

Libraries & Code

 
link image   Foodium (github.com)

Foodium is a sample food blog Android application built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, Flow, Dagger 2, Architecture Components, MVVM, Room, Retrofit, Moshi, Material Components).

 
RoomExplorer (github.com)

A quick and easy in-app database viewer and manager library for your Room databases.

 
WhatIf (github.com)

Some fluent Kotlin expressions for a single if-else statement, nullable and boolean.

 

News

 
Google for Games Developer Summit on March 23rd (goo.gle)

Join us online for the Google for Games Developer Summit on March 23rd and learn how the new Google Play Asset Delivery can help with: flexible delivery modes, texture compression targeting and automatic updates.

 
link image   Android 11: Developer Preview 2 (android-developers.googleblog.com)

Dave Burke, VP of Engineering at Google, shares the next milestone release of Android 11 for you to try.

 

Videos & Podcasts

 
link image   Fundamentals of Kotlin (www.youtube.com)

This video is about the Introduction fundamentals of Kotlin

 
Kotlin Vocabulary: Suspend functions (www.youtube.com)

Coroutines in Kotlin simplify asynchronous operations on Android. In this video, we go more in depth about why coroutines are important, how they work under the hood, how a coroutine can suspend without blocking threads, and much more!