Illustration by Virginia Poltrack

Now in Android #33

MAD Skills Kotlin+Jetpack and MotionLayout, AndroidX, Hilt and WorkManager articles, MotionTags screencasts, and an ADB podcast episode on WindowManager

Chet Haase
Android Developers
Published in
5 min readFeb 3, 2021

--

Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.

NiA33 in Video and Podcast Form

This Now in Android is also offered in video and podcast form. It’s the same content, but with less reading required. The article version (keep reading!) is still the place to come for links to all of the content that’s covered.

Video

Podcast

Click on the link below, or just subscribe to the podcast in your favorite client app.MAD Skills

The MAD Skills series continues to roll on, with technical content about modern Android development.

Kotlin and Jetpack

The series on using Kotlin with the Jetpack APIs finished since the previous Now in Android, ending with a livestream Q&A. Thanks for all of the questions (too many for us to answer, even when we ran long!), and check out the recording to see what happened.

As usual, there’s a wrap-up blog for the series, with all of the links to the episode videos and articles, plus links to relevant technologies:

MotionLayout

MADSkills continues with a new series from Sean McQuillan on the MotionLayout API and Motion Editor tool for creating rich UI animations. MotionLayout provides a similar capability to that of Android’s Transition APIs, but with far more flexibility and power, enabling richer custom animations. Also, there’s a whizzy visual editor, which makes creating complex animations much easier.

ConstraintSet Animations
This video explores how ConstraintSets are used to define different states that the UI animates between. Along the way, Sean shows how to use Motion Editor in Android Studio to create and edit these transitions.

Keyframes
This episode shows how to use Keyframes in a MotionLayout animation to customize the animation by altering the values of various properties over time. For example, you can use keyframes to change the path an object takes between start and end, instead of following the default linear path it would take otherwise.

Multiple ConstraintSets
In this third episode, Sean shows how you can add ConstraintSets, beyond the default two (start + end), to create more complex animations or transitions that flow through multiple states between start and end.

There are more episodes coming up in the MotionLayout series. Be sure to check out the playlist to see them all. Also check out the MotionTags playlist (more on this below!) for screencasts on specific areas of the MotionLayout API.

But Wait, There’s More!

For ongoing content, be sure to check the MAD Skills playlist on YouTube, the articles on Medium, or this handy landing page that points to all of it.

AndroidX

Among the many recent incremental releases of various AndroidX libraries were the following significant stable releases:

Autofill 1.1.0: This version introduces APIs that enable some of the new inline suggestion capabilities introduced in Android 11.

Biometric 1.1.0: This version adds capabilities and APIs for supporting Android 11 biometric authentication capabilities. This release was a substantial rewrite and reduces the app size footprint of the library significantly, along with providing various other improvements and fixes along the way.

Transition 1.4.0: This version adds KTX (the Android Kotlin extension library) APIs for AndroidX transitions.

WorkManager 2.5.0: This release adds new capabilities, and a new work-multiprocess artifact, for apps that use multiple processes, along with support for a new WorkManager tool in the latest canary version of Android Studio (Arctic Fox). For more about this release, check out the WorkManager article linked in the section below.

Articles & Videos

Hilt’s ViewModelComponent

This new article from Manuel Vivo discusses the new ViewModelComponent in Hilt’s hierarchy. ViewModelComponent allows scoping types to a particular ViewModel as opposed to ActivityRetainedComponent, whose scoped types are shared by all ViewModels.

WorkManager 2.5.0

Ben Weiss published an article on the recently-released WorkManager library, version 2.5.0. This release enables easier usage of WorkManager in multi-process applications, along with bugfixes and general improvements.

MotionTags

MotionTags is a set of screencast videos, deep-diving into specific areas of the MotionLayout API. The final two episodes in the series were posted recently:

KeyTimeCycle
This episode builds on the earlier KeyCycles video, showing how to create complex animations.

KeyTrigger
This final episode of the series covers KeyTrigger, which can be used to help an application control an animation with a callback caused by a state in the animation (a “trigger”).

Podcast Episodes

There’s been another episode of Android Developers Backstage posted since the last Now in Android. Check it out at the link below, or in your favorite podcast client.

ADB 155: WindowManagerManagers

To start the year off for Android Developers Backstage, we had a conversation with Wale Ogunwale and Rob Carr, from the WindowManager team. We talked about some of the history (and complexity!) of the WindowManager, as well as some of the recent developments and features it enables going forward.

Now then…

That’s it for this time. So go MAD for more Kotlin/Jetpack and MotionLayout episodes! Check out the latest AndroidX stable releases! Read new articles on Hilt and WorkManager, and watch the latest MotionTags videos! Listen to the latest ADB podcast And come back here soon for the next update from the Android developer universe.

--

--

Chet Haase
Android Developers

Android and comedy. Not necessarily in that order.