Now in Android #38
Google I/O 2021, RenderScript deprecation, #MADSkills Navigation episodes, articles, and a podcast episode
Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.
NiA38 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.
Android 12: Developer Preview 3
The third developer preview release for Android 12 is now available.
Read the blog for an overview of what’s new in the release for developers, from a consistent and customizable launch experience to haptics effects and APIs, to camera capabilities, and more.
We are deprecating the RenderScript APIs in favor of cross-platform GPU compute solutions such as Vulkan and OpenGL, and encouraging developers who want to take advantage of GPU compute to move over to these other APIs.
Since RenderScript was most heavily used for image-processing intrinsics, such as blurring, we are providing an open source library with most of RenderScript’s intrinsics functionality.
MAD Skills: Navigation
The MAD Skills series continues to roll on, with technical content about modern Android development.
This series builds on the previous Navigation series. That original series use a donut tracking app to show how to use some of the features of Navigation like dialog destinations, SafeArgs, and deep links. This second series extends that original sample by adding the ability to track coffee data as well (because, well, how can you have donuts without coffee?)
The first episode covers navigating between different elements on an app’s UI, such as the ActionBar, a drawer, or bottom tabs, all made easier with Navigation component and menu IDs.
Or for people who prefer reading their content, here it is in article form:
This is the second MAD Skills article series on Navigation. In this article we’ll take a look at another use case where…
Stay tuned for more Navigation content as Murat continues to explore other areas of the Navigation APIs.
But Wait, There’s More!
One of the privacy-related changes in Android 11 was around package visibility. Specifically, it is no longer possible for apps to get information on other installed apps by default. Instead, apps need to declare which apps they want access to in their manifest. Alternatively, apps can always use intent-launching to accomplish tasks, as opposed to calling out to specific applications which happen to be installed.
For more details on how this works and how you can migrate to this requirement in Android 11 and later, check out Meghan Mehta’s blog:
Working with Package Visibility
In Android, we are making changes to enhance user privacy and platform security to provide our users with a safer…
DataStore is a new AndroidX library, currently in alpha, that is intended to replace Shared Preferences as a lightweight storage mechanism. By default, DataStore uses protocol buffers to serialize the data being stored. Rohit’s article shows how you can use immutable Kotlin data classes and serialization instead.
Using DataStore With Kotlin Serialization
Up till now we’ve shared how to use DataStore with Protos or Preferences. Under the hood both DataStore versions use…
Room for Migration
Florina Muntenescu posted an article about the new auto-migration feature in the latest version of Room,
2.4.0-alpha01. Using this feature makes it easier for you to migrate your database between versions, letting Room handle the details for you. There are still cases in which auto-migration is not possible, so you may still need the existing mechanism and APIs for manual migration; check out the article for the details.
ADB 160: ART History
Romain Guy, Tor Norbye, and I talked with Brian Carlstrom and Nicolas Geoffray from the ART team about the early prototypes and bringup of ART, getting it production ready, and recent runtime developments.
That’s it for this time. So go check out the new Navigation MADSkills series! Read about RenderScript deprecation and check out the new image processing library! Watch the latest #MADSkills series on Navigation component! Read about package visibility in Android 11+, serializing DataStore content with Kotlin serialization, and Room auto-migrations! Listen to the latest ADB podcast And come back here soon for the next update from the Android developer universe.