Now in Android #57
#TheAndroidShow, Game Development, Safety, App Excellence, App Architecture, Archiving, AndroidX releases, and more!
--
Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.
#TheAndroidShow: Tablets, Jetpack Compose, and Android 13 📹
Last week, Florina and Huyen hosted #TheAndroidShow, where we went Behind the scenes with animations & Jetpack Compose, asked whether now is the moment to think tablet first, and covered Android 13 along with other key themes for Android this year. There is even a short-attention-span ready sixty-second summary!
Google for Games Developer Summit 🎮
This week marked the 2022 Google for Games Developer Summit, Google’s biggest event of the year centered around game development. The Android team shared information around the next generation of services, tools and features to help you develop and deliver high quality games. We covered gameplay across tablets, foldables, and Chromebooks, the Google Play Games for PC Beta, and the opening up of the Play as you download beta program.
In the Android Game Development Kit (AGDK), the Android Game Development Extension (AGDE) now includes cross compatibility between Android Studio and Visual Studio so you can open and edit your AGDE projects in Android Studio’s debugger. The new Memory Advice API (Beta) library combines the best signals for a given device to help you avoid low memory kills. And, the Android GPU Inspector is no longer in beta.
We launched the Google Play Partner Program for Games, added Google Play revenue and revenue growth distributions for your game and its peers to Reach and devices, launched Strategic guidance in Play Console, and launched country breakdowns and filters for Android vitals as well as the Developer Reporting API to gives you programmatic access to your core Android vitals metrics and issue data.
App Excellence Summit 2022 ⭐
The Google Play team announced that they’re hosting our first Android App Excellence Summit on April 12 to help product managers and business decision makers understand how high quality app experiences drive business growth and what tools they can use to make sound business and technical decisions.
Keeping Google Play safe with our key 2022 initiatives 🔒
We shared information about what’s ahead in 2022 for Google Play’s privacy and safety initiatives to give you time to prepare.
The upcoming Data safety section in your app’s Play store listing will start showing up in the Google Play store in late April, so make sure to submit your Data safety form soon. Completed Data Safety forms will be required for all app updates starting July 20.
We also covered the Privacy Sandbox initiative, the Play Integrity API, what we’re doing to help you navigate the use of SDK’s and services, how we’re enhancing protections for kids and families, and best practices around data collection.
Freeing up 60% of storage for apps 💾
App archiving will allow users to reclaim ~60% of app storage temporarily by removing parts of the app rather than uninstalling the app completely. An archived app can easily be restored to the latest available compatible version, whilst preserving user data. We announced that Bundletool 1.10 and the Android Gradle Plugin 7.3 include the first step toward readying your app for archived APKs in anticipation of the consumer launch of archiving functionality later in the year. We also talked about how you can choose to have your app participate in the program.
MAD Skills: DataStore and Introduction to Architecture💡
The DataStore MAD Skills series is now complete, so Simona posted a wrap-up summarizing everything we covered. Jetpack DataStore allows you to store key-value pairs or typed objects asynchronously, consistently, and transactionally. The series goes over the basics along with deep dives into both preferences and proto datastore. It covers DataStore and dependency injection, Kotlin serialization, and synchronous work, finishing up with data migration and testing.
Manuel began the new Introduction to Architecture MAD Skills series, helping you to think like an architect when designing and constructing your apps. The series will go through our recommended app architecture guidelines that provide the foundation for building robust, high-quality apps. These guidelines apply whether you’re building an app using the View system or Jetpack Compose. The series will cover the Data layer, Domain Layer, and UI layer along with how to handle UI events, and will culminate in a live Q&A session, so make sure to follow along.
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 📚
In Unbundling the stable WindowManager, Pietro covered the 1.0.0 stable release of Jetpack WindowManager, the foundation for great experiences on all types of large screen devices. Jetpack WindowManager provides the DisplayFeature interface and its FoldingFeature implementation which contains information like foldable device hinge orientation and state. It can compatibly retrieve the current and maximum window metrics information using the WindowMetricsCalculator class. It also helps enable you to take advantage of the Activity Embedding feature if the device can support it.
Gerry and Trevor introduced the CameraX VideoCapture API and covered how to use it in your apps. The article includes adding dependencies, creating the Recorder, controlling the recording at Run-time, and more.
Marcel Demystified Jetpack Glance for app widgets, answering questions around defining metadata, theming & styles, taking advantage of Dynamic Colors with support for dark and light themes, creating shapes, updating your widget, managing state, working with Android Studio’s tooling, and more.
Andrew and Jon shared the Google Play Store’s strategy for adopting Jetpack Compose while it was still in pre-Alpha, why they did it, how they overcame specific performance challenges, and how adopting Compose improved developer productivity and happiness.
Finally, Márton covered the removal of the Kotlin Android Extensions Gradle plugin in Kotlin 1.8, which will likely happen before the end of 2022. (Note that this is entirely separate from Android KTX, which is very much supported.) The article recommends using View Binding instead of the synthetics the plugin provides, and we have this handy migration guide to help. Also, the Parcelize feature is now available in the standalone kotlin-parcelize plugin.
AndroidX releases 🚀
Let’s take a look at what’s been up with AndroidX releases since the last episode of Now in Android.
AppCompat-Resources Version 1.6.0-alpha01 adds support for customizing locales, providing backwards compatibility for the Android 13 per-language preferences API. Media Version 1.6.0-alpha 01 adds the extras necessary to setup a signin/settings page using CarAppLibrary.
Room Version 2.5.0-alpha01 converted room-common, room-migration, and paging related files in room-runtime from Java to Kotlin along with a new API for multi-process lock to protect multi-process 1st time database creation and migrations. Games-Activity Version 1.1.0 adds WindowInsets listening/querying for notch and IME response along with key and motion event filters.
We had a bunch of bugfix releases, such as Compose 1.1.1, Paging 3.1.1, Emoji2 1.1.0, version 1.10.0 of the Frame Pacing library, and Room 2.4.2.
Now then… 👋
That’s it for this time, with #TheAndroidShow, Game Development, Safety, App Excellence, App Architecture, Archiving, some great articles, AndroidX releases, and more! Come back here soon for the next update from the Android developer universe.