Now in Android #34
MAD Skills MotionLayout, Material Components, KSP, AndroidX, Coroutines and Intents articles, App Security talk, and App Quality and Education announcements
Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.
NiA34 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.
Click on the link below, or just subscribe to the podcast in your favorite client app.
Now in Android: 34 - Material Components, Kotlin Symbol Processing, AndroidX updates, and more!
Welcome back to Now in Android, your ongoing guide to what's new and notable in the world of Android development. In…
MAD Skills: Motion Layout
The series on MotionLayout is coming to an end. In the fourth episode, Sean McQuillan explains how to build a collapsible toolbar using Motion Layout, which is a common place where this API shines. Along the way, you’ll learn how to animate custom attributes using MotionLayout.
And the final episode is, no surprise here, a live Q&A with Motion Layout experts on the developer relations and engineering teams. Tune in and ask questions if you’re reading this before it happens.
If you missed any of the previous episodes, be sure to check out the MotionLayout MAD Skills series playlist.
Psst… Spoiler alert, the next MAD Skills series is about WorkManager! Don’t tell anyone 🤐
Material Design Components
material-components-android library released version 1.3.0 in stable! It comes with new Material components such as
ProgressIndicator. Other updates include internationalisation and localisation of strings inside some components like dialogs, as well as exposing the BadgeUtils class as public.
See all the changes in the release notes.
Kotlin Symbol Processing
Kotlin Symbol Processing (KSP), the tool for building lightweight compiler plugins in Kotlin, is now in alpha. If you are familiar with annotation processors, KSP offers similar functionality to KAPT, but it’s up to 2x faster and is being developed with Kotlin multiplatform in mind.
If you’re an author of a library that uses annotation processing, see the blog post for information on how you can make your library KSP-compatible.
Announcing Kotlin Symbol Processing (KSP) Alpha
Today we are excited to announce the alpha of Kotlin Symbol Processing (KSP), an all-new tool for building lightweight…
Among the many recent incremental releases of various AndroidX libraries were the following stable releases:
Activity 1.2.0: This version marks the first stable release of the Activity Result APIs that bring type safety and easier testing to the
requestPermissions flows. Furthermore,
ComponentActivity implements the
ContextAware API to give you a hook before
super.onCreate is called.
Fragment 1.3.0: A lot changed in this version! Notably, it brings a new State Manager which involved a significant rewrite of the internals of
FragmentManager. It also adds support for Activity 1.2.0, adds new Fragment Result APIs, and considerably improves
FragmentScenario from the
Lifecycle 2.3.0: This version adds
SavedStateHandle support for non-parcelable classes, Lifecycle
Event helpers, and other niceties like the
withStateAtLeast suspend functions that execute a block of code when the lifecycle changes to the given
Apart from the stable releases, Paging 3 reached its first beta release and this is worth a shout-out! Paging 3 has been a huge rewrite in Kotlin that embraces coroutines at a fundamental level. Those APIs have reached API stability with beta01.
Articles & Talks
Bridging the gap between coroutines, threads, and concurrency problems
I wrote this article to demystify how coroutines are actually executed on the Android runtime. Since coroutines in Android use the threading model as defined by the Java programming language, you need to watch out for concurrency issues in your code.
Bridging the gap between coroutines, JVM threads, and concurrency problems
Learn about how coroutines are actually executed in the JVM, how they relate to threads, and the concurrency issues…
Adapting your apps for Android 11 privacy changes
Privacy continues to be a priority for Android, because protecting user’s private data, and transparency around app usage of that data, is increasingly important. Fred Chung’s talk covers some user-facing changes but it’s primarily focused on developers: new APIs, behavior changes, and testing. It includes changes to permissions like the one-time permission option, storage, package visibility, tooling to help identify private data access, and more.
Android Nesting Intents
Nicole Borrelli explains why your app should use
PendingIntents instead of
Intents for implementing inter-app callbacks. Spoilers: not doing so could leave your app vulnerable.
Application quality matters to everyone. The new App Quality page in our developer site helps you keep up-to-date with key aspects of app quality and provides related resources on how to achieve and maintain high quality. The core app quality checklist will help you assess your app in terms of visual experience, functionality, performance & stability, privacy & security, and Google Play. Some developers found it helpful to share this with their design and QA teams to align expectations.
Going forward, we will regularly update this list to keep it up-to-date as well as expanding this to other form factors such as tablets and WearOS.
We want to make Android development accessible to more people! A new curriculum for Android Development with Kotlin is available for educators to teach Android in a classroom setting. It includes many materials to give you everything you need, from lecture slides to hands-on codelabs.
For people who like to learn in peer groups, the Android Study Jams program is now available to all developers. This content enables a group of people to come together and learn Android at their own pace through an online curriculum.
That’s it for this time. So go MAD for more MotionLayout content! Check out the latest KSP alpha release, and material components and AndroidX stable releases! Read new articles on coroutines and nesting intents, and watch the latest Android 11 Privacy changes video. See the new resources on App Quality, Education, and come back here soon for the next update from the Android developer universe.