[MUSIC PLAYING]
CHET HAASE: Hi and welcome to "Now in Android" episode number
22.
Tons of things going on.
11 Weeks of Android is kicking in big time.
I think we named it wrong.
It should be called 1,000 years of Android content
all stuffed into 11 weeks.
So in the meantime, let's see what's going on.
First of all, Android 11 Beta2 launched.
This is an important release because this is the platform
stability milestone.
This is a new thing as of Android 11.
And it means that the APIs and the behaviors
will not change after this.
So if you have not gotten around to testing your application
yet, this is a really good time to do
so to make sure that your application behaves
as you want it to before we go to final release
and get that out there.
Next, AndroidX.
A couple of things going on.
First of all, there were tons of releases
because there are always tons of releases every couple of weeks.
Most of these are bug fix releases
or intermediate releases somewhere
between alpha and final release, but I
wanted to call your attention to a specific one, which
is WorkManager 2.4.
Besides the bug fixes that are also in there,
it also has new support for RxJava 3
and a new WorkQuery API so you can find out
what's up with your WorkInfo objects,
as well as diagnostic info to give you
metrics on how things have been going with the jobs
that you've been scheduling so far.
Also, huge news-- AndroidX is now available on GitHub
sort of.
So this is a longstanding request from you.
I remember people talking about it at Android Developer Summit,
I don't know, a couple of years ago at least.
The problem is we use completely different infrastructure
internally.
This is like a detail you do not have to care about, right,
but it does mean that it is very difficult. We can't just say,
sure, GitHub, let's put it out there
because for various reasons you shouldn't care about,
we have to use different infrastructure.
So that makes it tricky to then funnel GitHub content there,
but it's important.
We know that you are familiar with that GitHub flow
and not necessarily with the AOSP plus the Gerrit flow
that we have otherwise.
So piece by piece, we are trying to get the pieces out there.
For now, baby steps.
We have Room and WorkManager available
for you to submit patches on GitHub, so see how that goes.
Tons of articles and videos.
And I said, the 11 Week content is kind of huge, right?
There's tons of those.
I'm not going to call out everything
that we put out there.
Instead, I will refer to the links in the 11 Weeks
for you to go get more information
on those specific things, but I want
to point you to some other things that
came out at the same time.
First of all, there's a new video playlist,
a new show that Dan Galpin has been working
on called "The Game Show," where he talks about and focuses
specifically on content for game developers.
He launched a couple of episodes into that show recently.
The first is "Introducing Android Performance Tuner."
He talks about how to get performance metrics, which
you can then autoupload into the dashboard,
you can see that information in Android Vitals in your Play
Console.
Also, "Play Asset Delivery" is about delivering
the right assets at the right time to your application.
So check out those two shows and check out
the playlist in general.
There will be more content in the future,
so keep an eye out for that.
"Building Apps for Work Profiles"
is a video that came out from Aser Samak talking
about how to make sure that your app behaves correctly
on work profiles.
If you think your application is useful in the context
of enterprise and people will use it in work profiles,
then maybe you'd be good to use best practices for work profile
developments and ensure that that application does work well
in that context.
So check out the video for some tips on that.
All right, next, WorkManager.
So I think you are familiar and I'm familiar with WorkManager
as a great way to schedule deferred work--
things that you want to happen sometime
in the future under certain constraints--
battery, bandwidth, whatever it is, right?
But there is new functionality in WorkManager
now to also allow you to run long-running jobs that
really need to start now.
Ben Weiss has posted a new article
on doing exactly that-- scheduling
these long-running tasks that need to execute immediately.
So check out that article for more information
on how to do that.
So IOSched, I have talked about in previous episodes.
This is an application that we write to help users,
to help attendees schedule talks at events
like Google I/O and Android Developer Summit.
And recently, we posted the source code
for the most recent version of that.
So IOSched, check that out.
Learn about best practices for doing various things.
One of those best practices is we have migrated from using
Dagger for dependency injection to using Hilt.
And Jose Alcérreca posted an article about how we did that--
how we migrated to Hilt, and also the savings that we saw.
Spoiler alert, they deleted 2,000 lines and added only 500
of them back in the conversion to Hilt.
And it wasn't just by making all of those lines longer.
So I will leave the details to the article
because that's what the article is there for,
so see the details there.
"LiveData and Coroutines" was a talk that Jose Alcérreca,
again, gave with Yigit Boyar at Android Developer Summit last
year.
So it talked about how to combine these things,
how to do this asynchronous programming stuff, coroutines,
and flow, and live data.
Great talk.
Put it in article form now.
If you don't prefer to get your content through videos,
you can now consume this content through three articles.
Again, long talk, therefore a three-parter article.
So go ahead and schedule some time,
block some time off and read those in sequence
or maybe you could use coroutines to actually
deliver them asynchronously to you instead.
Next, a bunch of training stuff came out.
So there's a new course.
This is kind of huge, Android Basics in Kotlin.
We've had an Android basics course for a while,
but it was in the Java programming language
and it uses some approaches that we
may have a better way of doing things for nowadays.
So this is for people that don't even necessarily have
software development experience to begin with,
so they can learn software development, Android
development, and Kotlin all at the same time.
So check out that course.
Also, we launched a couple of pathways around Kotlin.
One pathway is around coroutines.
So there are articles and code labs
to help you understand how to use coroutines
in your applications.
And we also posted another pathway called
Kotlin for Java Developers.
So let's say you're a Java developer now.
You want to know how to do Kotlin development,
or how to do more Kotlin development,
or how to integrate that Kotlin code with the rest of your code
that is still in the Java programming language.
So this pathway is specifically around Kotlin and Java
interop as well as migration from Java to Kotlin.
There is an AMA--
there's a Reddit AMA happening in the past, right?
By the time you see this video, I
think by the time this is posted, the AMA will be over.
However, all of the content from the questions
and the answers that the team was able to provide
is on the AMA site.
So check out the link.
Go to the AMA.
See the content there.
Hopefully, you'll be in time to participate in the next one.
We're running three AMAs during the 11 Weeks in Android.
This is the second one.
There's a third one coming up later in the series.
It's all on the 11 Week site, so you can check it out there.
11 Weeks of Android-- speaking of 11 weeks,
there were a few of those that happened since the last episode
of "Now in Android."
Week four was Android 11 compatibility.
And in this week, we gave you articles, and videos,
and information about how to make sure
that your application is compatible with the latest
release, and behaviors, and APIs,
including the new resource loading API in Android 11,
and tools to make sure that you are
maintaining compatibility and doing the right thing
with your application.
So check out the wrap-up blog for pointers,
the links to all the content there
for the videos and the articles, and also check out
the video playlist.
The next week after that was week five, which was languages.
So we gave information on Kotlin, on C++,
and on the Java programming language.
There were videos and articles on Kotlin features
like coroutines.
There was a video and article on supporting newer language
features in the Java programming language.
And there was information about improvements that
we've introduced for C++ developers.
Again, check out the wrap-up blog
for the links to that content, as well as
the video playlists that we have on the Android Developers
channel on YouTube.
And the week after that, week six,
this is Android Jetpack, which is huge.
Jetpack itself is huge-- so many libraries, so much going on.
And that was replicated with the content we posted as well.
So lots and lots of things to check out there.
There were articles.
There were videos.
There were Code Labs.
Everything from the Paging3 rewrite to a lot of stuff
about Hilt, CameraX.
There were new features in the Navigation library,
a video around that.
Again, check out the wrap-up blog and also
the video playlist to get links to all that content.
And then week seven came out after that,
which is this week when I am recording
and hopefully when you are seeing this.
And this is about Android Developer Tools.
Articles and videos on how to use the tools most effectively.
If you want to know the content as it comes out,
since that wrap-up blog is not yet available,
check out the @AndroidDev handle on Twitter
and the #11WeeksOfAndroid, and then you
will see the content as it is posted live
throughout the week.
This is true not just for the tools week,
but for all the weeks as we go through this exercise.
And next week, we're going into app distribution
and monetization because it turns out sometimes it's
nice to make money from the effort
that you put into your application.
Android 11 meetups continue to happen all over the world.
In fact, this week, tomorrow and Thursday,
I'm giving a talk along with Florina
at an event that is hosted at Google Developer
Group in, let's see, Chicago, two
places in New York, two to three places in Argentina,
as well as Mexico.
My geography knowledge is horrible.
I'm pretty sure these places are not near each other at all.
This is not like a GDG location.
It is GDG hemisphere.
It's kind of fantastic that in this time of need,
we are able to gather in such a wide way
online and participate in these events together.
So I'm looking forward to that.
I would suggest you check out the events that
are happening in your area or maybe just in your time zone
anywhere in that hemisphere.
So good luck with that.
These are happening all throughout the summer.
So there's a link where you can find out what's going on when.
And finally, there were a couple of new ADB podcast
episodes posted.
ADB 144-- Compilers, where Tor and I talk with Mads Ager
from the Android Studio compilers team.
We talked about R8 and D8 optimizations.
We talked about Kotlin compiler front and back-end.
And we also talked about the new Kotlin symbol processor.
ADB 145, the next episode, the last one
that went out there was "Grab that Dagger by the Hilt."
Romain and I talked with Danny Santiago and Eric Chang,
who work on the Hilt library, which
is, of course, the recommended approach
for dependency injection on Android.
So check out both of those podcasts.
Check out the rest of the content that I talked about.
Spend some time learning the stuff.
As usual, all of the links to everything that I mentioned
are on the article, so check out the "Now in Android #22"
article for that detail.
And if you liked the video, go ahead and like, and share,
and subscribe to the Android Developers channel on YouTube.
Thanks.
[MUSIC PLAYING]