[MUSIC PLAYING]
CHET HAASE: Hello and welcome to "Now in Android,"
episode number 18.
Couple of things happened the last couple weeks,
starting with Android 11--
small updates there.
Developer Preview 4 came out.
There wasn't a big blog announcement.
There was no list of features.
Mostly incremental-- we keep doing bug fixes.
We hope you appreciate that.
Check that out.
As always, go to the site, download it, test it,
make sure it works with your app.
Send us feedback if things aren't working as expected.
Also, there was a post by Dave Burke
talking about the plans for the beta releases of Android 11.
Now, one of the things that I think all programmers are used
to is that software schedules--
what's the word-- slip.
They slip.
We have built in more time into the schedule for the betas
that we're going to ship with Android for Android 11
for various reasons.
So we are extending things, basically, by about a month.
So the timeline for the beta releases is listed.
Check out the blog.
Check out the website for the Preview.
All the information is in there.
Also, there was information about #Android11,
The Beta Launch Show.
So on June 3, at--
what is it-- 8:00 AM California time--
you can do the math for the rest of the world--
we are going to have a show.
Dave Burke is going to be hosting a show with information
about Android 11.
There's going to be technical deep-dive talks.
There's also going to be an #AskAndroid session.
So we're going to have a show to start out with,
and then immediately after that, there's
going to be an #AskAndroid session.
And I mention that because if you tweet #AskAndroid,
you'll be tweeting questions at us,
and we will try to get to your questions
to answer them in that show.
So tune in for the show, see the content, #AskAndroid,
and learn about Android 11.
Couple of articles worth mentioning that
came out in the last couple weeks.
First of all, Wojtek Kalicinski posted something
on app signing.
So we have this capability for you to upload your key
or have Google assign a key and actually manage
your keys for you.
This is called App Signing by Google Play.
And the advantage is, what happens if you lose your key?
Well, we can't do anything about it.
It was your key.
Or what happens if there's a theft of your key,
or you are afraid of leaking, or whatever?
That's a really bad situation to be in.
Wouldn't it be nice if someone with a lot of experience,
and servers, and security could manage that system for you?
So that's what we offer with App Signing.
So you can then have Google itself
and Google servers actually manage that side of it.
So that's the main advantage of app signing.
But along the way, you can also take advantage of app bundles.
If you allow Google to do the signing with your key,
or again, key that you allow Google to create
on your behalf, then you can opt into the app bundles
world, where you get the ability to then send out
smaller downloads instead of having a monolithic download
or managing all the downloads yourself.
The article is not specifically about app bundle, but just
another advantage of being in the App Signing
by Google Play world.
Also, there was an article about the WindowManager library.
So this is a new Jetpack library that came out
in alpha a couple of months ago, I think,
and now there's an article about what's going on there.
So the main reason that a library came out right now
is there's all these new devices coming out
with new form factors and capabilities, specifically
foldable devices.
So what happens if you have a new device
and it has, essentially, two screens that can fold,
and it has a hinge, and it has different capabilities
so that maybe you can have a half fold?
You can watch the UI on one, and you can watch the media
on the other part.
But that doesn't do much good if your application cannot access
that information from the device.
So typically, historically, we would
release APIs in the platform, and then you
would query the platform for this.
But wouldn't it be nice if you could actually
query this information on older releases as well?
So that's what this library allows you to do.
It works with an extension mechanism.
I compare it to what you might do with CameraX extensions.
And device manufacturers can opt into those extensions.
And then there's basically a contract
between the library querying those extensions, extensions
on the devices, and then you can get the information you need
to know whether this is a device that
supports foldable technology and is currently folded--
whatever the device characteristics
are that you need to get ahold of in order
to know how to manage the content in your UI.
So check out that article for details,
and check out the alpha release of that library,
and also check out the WindowManager samples
out there.
On the Codelabs side, we have a couple of Codelabs
that are worth calling out.
First, there's a new code lab that Murat Yener published
this week, and this is about gesture navigation.
So there's been some articles and samples
about how to do this stuff.
This is a Codelab that walks you through it
so you can figure out how to correctly handle gesture
navigation in your application.
This is a new capability that came out in Android 10
that basically gives users more screen real estate.
Traditionally in Android, we've always had a navigation bar
down at the bottom.
You've got the back.
You've got the home.
You've got the recents.
They've always been there.
It is part of the Android experience, part of the Android
navigation experience, in particular.
But wouldn't it be nice if you could
have that screen real estate back for the applications?
So that's the idea with gesture navigation.
If you can get users used to these standard navigation
techniques instead of the standard buttons,
then you've got all that screen real estate available for more
content on the screen.
So instead of hitting the Back button,
you can do a back swipe operation instead.
Now, the problem with that is, what if there's
UI in your application that is exactly in the area
that the system UI expects the user to back swipe?
Well, then you need to account for that,
know where on the screen we're allowing gestures,
and then account for it correctly
in your UI and the placement and interaction points of your UI.
So this Codelab works through those details
so you can better come into the world of gesture navigation.
Also, there was an update to an existing Codelab.
We have a Codelab for CameraX called
"Getting Started with CameraX," and Meghan Mehta made updates
to this to bring it up to the beta release.
So we had recently posted a video
about the beta for CameraX, and there
were some comments on that video that
made it very clear that people would
like a Codelab that was actually synchronized
with the beta release.
And we agreed.
We were working on that in the meantime.
That has now been posted.
The Codelab is now synced to beta,
so that should actually work now.
Along the way, there were a lot of improvements to the Codelab,
like a lot more explanations and comments
in the code so it was clear what was
going on for some of the parts that were unobvious.
And also, it's worth pointing out
that the emulator for Android R, the system image emulator,
now works correctly with concurrent analysis
and capture for CameraX.
And then, finally, there was a podcast
for "Android Developers Backstage"
that was posted very recently.
Romain, Tor, and I spoke with Alan Viverette and Nick Anthony
on the AndroidX team.
This team ships a total of, I don't know,
over 70 libraries in AndroidX, also called Jetpack.
We talk about that naming confusion on the show.
And we also talk about the processes
used, API rules that they have, how you actually
ship that many libraries, and how to think about AndroidX
and how those deliverables come out,
and how the versions work and work together.
So check that out for more information.
And as always, go to the article that I
posted for all of the links to all of the stuff
that I've talked about here.
And finally, if you like the video,
go ahead and like, and share, and subscribe to the Android
Developers channel on YouTube.
Thanks.
[MUSIC PLAYING]