You are reading “Goobar,” an Android development newsletter exploring the latest tools, tips, and trends from the world of Android. We’re dedicated to helping you learn and grow in your career as an Android developer, so if you like what you see, be sure to subscribe.
Welcome devs 👋
The software development world always moves quickly. However, sometimes we are blessed, or overwhelmed, with even more updates than usual in a very short amount of time.
To me, we’ve been experiencing this in the Android development community over the past couple weeks. There have been a handful of exciting releases and updates that have certainly given myself, and likely many others, plenty to add to our learning backlogs.
In this week’s post, I want to take a little time and share some of these updates and what they might mean for us as Android developers.What new development tools, libraries, or updates are you excited about? Click To Tweet
Android 11 Developer Preview
The first developer preview for Android 11 was recently released; bringing with it the first look at new features and apis. These updates are nicely broken out into 3 distinct categories:
With 5G rolling out to certain markets, Android 11 is adding and updating connectivity apis to help developers better determine how much bandwidth a device has
- Dynamic meteredness API – check if network is unmetered or not; even for mobile networks
- Bandwidth estimator API – receive bandwidth info without manual calculation
Google is adding several new capabilities to better support messaging experiences in Android.
- Conversations section in notifications – a dedicated section for conversations is being added to the notifications tray
- Chat bubbles – first-party support for chat bubbles is being added so developers can provide a consistent experience similar to what apps like Facebook Messenger have implemented.
The Android team continues to evolve the privacy and permissions experience for Android with continued focus on greater security.
- One-time permissions – users will be able to grant permissions for a single instance of a task
- Scoped storage – the scoped storage experience introduced in Android 10 continues to evolve. New apis have been added to MediaStore and there are new apis for requesting broad access to the file system for apps that truly require this level of access. You can learn more about these updates here
Platform Stability Milestone
Google is commiting to giving developers a “Platform Stability Milestone” by which time developers can expect new apis, both internal and external, to be stable. This should give developers a more concrete timeline with which to plan the targeting of Android 11. Currently, this milestone is expected sometime in June.
So Much More
For much more on the Android 11 Developer Preview, you can check out the announcement blog post here.
Android Studio 3.6
Android Studio 3.6 was officially released to the stable channel today. This release includes several new features such as:
- ViewBinding support
- Apply Changes improvements
- A split code / design editor view
- The return of leak detection in the memory profiler
Android Studio 4.0
Last month, we had an update to the Android Studio 4.0 preview. We’ve had access to Android Studio 4.0 previews since last fall after Android Dev Summit, but now that 3.6 is stable, I would expect to start seeing more frequent updates to 4.0 as we get closer to Google IO. This promises to be a very exciting milestone with included support for Jetpack Compose, and integrated emulator, and more.
If you want to try Android Studio 4.0, you can install it side by side with any stable version of Android Studio and simply use it to explore new features and experiment.
You can learn more about the latest updates to Android Studio 4.0 here.
In the past week, we were treated to new motion guidelines for Material Design. Among these updates was some strong guidance on UI transitions, such as a shared element transition between a list and a detail view.
Even better than new design guidance, us Android developers were given some new tools to help make implementing common types of motion easier.
In a recent tweet, Nick Butcher announced to the release of these new Material transition apis. The newest release of material-components-android includes several new apis for implementing the four common Material transition types:
To learn more about these Material Motion guidelines, you can check out this Medium article.
Store is a library from Dropbox and built by Mike Nakhimovich and Yigit Boyar. It aims to simplify the logic involved with loading, caching, and providing data from multiple data sources. Store recently received a major overhaul and has been completely rewritten using Kotlin and Kotlin coroutines.
Store is a very interesting solution for the “Repository” layer of all the architecture diagrams that get thrown around when discussing Android Architecture Components, MVVM, etc. If you’re building an app that is pulling from several data sources, and is doing a lot with caching and merging of data, then Store is likely worth a look as it can help abstract away a lot of this complex logic.
If you’re interested to learn more, there was a recent episode of the Android Developers Backstage podcast dedicated to the recent release of Store 4.0.
This is definitely something I’d like to experiment with soon as it solves a common challenge and I trust the devs behind it.
Last week, GitHub released a new command line tool for interfacing with the GitHub api; enabling developers to check Issue and PR status from the command line among other things.
I’ve been playing with GitHub CLI over the past week, and am liking what I see so far. I would like the ability to delete Issues or PRs from the tool, but hopefully that will come.
More to the story
For more on the world of Android development, check out these other issues of goobar:
- Kotlin Multiplatform – Cross Platform Development With Kotlin
- Android Developer Career Paths
- Android Development Tools – What’s In Your Toolbox?
What in the world of Android development are you interested in right now? Join in the conversation in the comments below.
See you next time devs 👋