Now in Android #46
MAD Skills Performance and Hilt, WindowManager, Android 12 Widgets, Accessibility, and more!
Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.
NiA46 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.
Podcast
Click on the link below, or just subscribe to the podcast in your favorite client app.
Ratings and reviews better for users and developers ⭐
Google Play is making ratings more personalised and indicative of the experience each individual user can expect:
- From November 2021, users on phones will start to see ratings specific to their registered country.
- Early in 2022 users on other form-factors such as tablets, Chromebooks, and wearables will start to see ratings specific to the device that they’re on.
Google Play has also made enhancements to Play Console to help developers understand their ratings and reviews — especially across form-factors: device type insights, more flexible date and period selections, and downloading data easily.
MAD Skills series 🧰
Performance ⏲️
The Performance series has come to an end with the usual live Q&A session where Florina Muntenescu is joined by Carmen Jackson and Joshua Gilpatrick to answer performance questions.
If you missed one of the episodes, check out the Performance MAD Skills series playlist.
Hilt 🗡️
Hilt is Jetpack’s recommended solution for Dependency Injection on Android, and its MAD Skills series has just started! You want to know what the series is about? Watch the intro video for more information:
The first two episodes of the series are already here! In the first episode, I introduce dependency injection (DI) and Hilt by comparing it to manual DI to show you how Hilt is simplifying your app by removing boilerplate DI code.
In the second episode, Eric Chang talks about testing best practices. How to approach testing when using Hilt, the different APIs, and some tips and tricks to optimise your build and get the most out of testing with Hilt.
More MAD Content
But Wait, There’s More MAD content!
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.
Articles 📚
Meghan Mehta wrote about Block Store, a new API that allows your app to store user credentials that it can later retrieve to re-authenticate users on a new device. The blog post explains why, when, and how you’d use Block Store.
Jetpack’s WindowManager library is already in Beta! And Pietro Maggi wrote a blog post about the new APIs included in the library and how to use them in your app:
WindowLayoutInfo
: contains the display features of a window, such as whether the window encompasses a fold or hinge.FoldingFeature
: enables you to monitor the folded state of a foldable device to determine device postures.WindowMetrics
: provides the current window metrics or the overall display metrics.
Widgets got awesome improvements in Android 12. Read Murat Yener’s blog post to learn advanced features to make your widget more interactive, easier to configure, and provide a better UI experience. You might remember that prior to Android 12, reconfiguring a widget meant that users had to delete their existing widget and add it again with the new configuration. Well… that’s not the case anymore! 👏
Duolingo saw their performance and developer productivity degrade due to scalability issues in their app architecture. In this blog post by Kateryna Semenova, you can read about how they were able to solve these performance problems and regain developer productivity, by refactoring to a Model-View-ViewModel architecture and using Android Jetpack’s Dagger and Hilt for dependency injection.
Great app experiences are great for business. App excellence is something we want to help all developers achieve. This blog post by Jacob Lehrbaum talks about internal best practices your company can follow to get an A+ user experience in your app. Disclaimer, this might take a cross-functional approach, with engineering, design, product, and business teams working toward a common goal.
Accessibility videos 🌐
A new series of videos about accessibility on Android has started! The first video by Caren Chang introduces the series that demonstrates how to build Android apps with accessibility in mind.
In the second video, Shailen Tuli shows you the different configurations and features found in the accessibility settings and why a person may use them.
ADB Podcast Episodes 🎧
There has been a new episode of Android Developers Backstage posted since the last Now in Android.
ADB released episode 173 covering More benchmarking. In this episode, Chet, Romain and Tor talk with Chris Craik and Rahul Ravikumar from the toolkit performance team about the recently released macrobenchmark tool + library. Listen to it to learn how the benchmark libraries work, how to use them, how they relate to system tracing, and more.
Now then… 👋
That’s it for this time, with ratings and reviews better for users and developers; MAD Skills series on Performance and Hilt; articles about Block Store, WindowManager, Widgets in Android 12, Duolingo app improvements, and app excellence; accessibility videos, and a new podcast. Come back here soon for the next update from the Android developer universe.