[MUSIC PLAYING]
CHET HAASE: Welcome to "Now in Android" episode 27.
Many things going on.
Let's see what happened in the last couple weeks.
Android Studio 4.1 happened.
4.1's been out for a while, but in canary and beta versions,
and now it is stable.
So if you wait for your tools to be stable,
this'll be the time that you have waited for, for 4.1.
So I've talked about this release in the past
and some of the features in there,
but just to highlight some of the things
that you could check out, Database Inspector, the ability
to actually see what is happening
in the database on your device from the host machine
or even to make changes and see those changes reflected
on the device.
New project templates.
So now when you create a new project,
you can use one of the templates that automatically comes
with Material Design Components, just
making that whole flow to get beautiful UIs much easier.
Integrated emulator windows.
So now you have the ability to pop up
the emulator inside of the IDE window instead
of in its separate window that you then
have to manage on your limited screen space.
Integrated Development Environment--
you can't spell it without integrated,
so that's what they did with the emulator.
Dagger and Hilt code navigation--
you can now click on these gutter actions
from your code to see what is going on with the Dagger
and the Hilt types in your code.
And finally, ML model binding--
this is the ability for Studio to import TensorFlow light
models and then auto generate some code
that makes it easier to interact with that model from your app
code.
You can learn more about the release from a video
that [INAUDIBLE] produced as well as a blog article
that Scott [INAUDIBLE] published or the Android Studio release
notes or-- you know what?
Heck, why don't you just download the release
and play with it and see for yourself.
MAD Skills is a new series of videos that we're publishing,
and it started this week.
The intent is to help educate developers
on what we mean by Modern Android Development--
more specifically, how to actually use
the elements that we're talking about with modern Android
development to make it easier to write better applications.
So this is going to be basically a series of series--
es.
Serieses?
Not sure what the word is there--
where we focus on a subtopic for a couple few weeks,
and then move on to a separate subtopic.
The topic we're focusing on this week, the way
that we're starting the series, is with Navigation.
So I posed an overview of Navigation component,
and then the second episode focused on how
to do dialogue destinations.
We'll have a couple more episodes next week
before we then focus on another topic area
inside of MAD Skills.
Over the course of the long series, which frankly,
we haven't even planned the end of yet,
we'll cover things ranging from Kotlin on the language side
to Android Studio on the tool side,
and various sub tools there.
APIs, subset of Jetpacks such as Navigation component
API, as well as distribution talking about Android app
bundles.
So check out the playlist to find out
what we have there already and check back
to find out what we continue posting in the weeks to come.
Should be pretty fun.
Also one of the problems with technical videos,
which these are all meant to be fairly deeply technical,
is that they're not necessarily searchable,
and it's kind of hard to copy and paste from a video,
unless you're doing screenshots, and that doesn't really
work well for code.
So with each of the videos, if there
is no article content associated with that content
already in the video, then we will
be writing a parallel article, so then you
can consume your content however you want.
Or you can check out the video and then go
to the article for the details and the text and the stuff
to copy-paste if you prefer.
So check out the videos on YouTube,
check out the articles on Medium,
and see where we go from here.
And remember, don't get even.
Get MAD.
Kotlin Vocabulary is an ongoing series of articles and videos,
and there have been a couple new episodes posted.
First of all, Florina [INAUDIBLE]
posted an article and a video about how Kotlin's default
arguments work.
This is a great language feature that
makes it possible to basically have more condensed code
in a couple of different ways.
So imagine, in a reality that does not exist,
where Kotlin existed when we wrote the code for View.Java,
we could get by with just one constructor for that class,
instead of what we now have, which
is at least four constructors.
And that's because default arguments allow
you to supply a default value for those arguments,
and that allows you to collapse all of these overloads
into just one function in many cases.
It also allows you to write more concise code on the calling
side, because if those default arguments and default
values are actually pretty good for your use case,
then chances are you don't even need to supply them,
and you can provide a much more simplified parameter list.
So Florina covers how this all works, how to use it,
and how it looks under the covers.
Also, Murat Yener posted an article and a video
on Kotlin Delegates, explaining how that feature works,
as well as how Class Delegates work,
where it defers work to another class
entirely, and Property Delegates, where
you can defer the getter and setter to other code.
There's something interesting Kotlin provides,
which is not only does the language feature,
but it also provides other delegates
that you can use just out of the box, like [INAUDIBLE]..
This article doesn't go into details on those,
but there's a little bit of teaser there.
Maybe there will be a future article
that goes into some of those details as well.
Play billing subscriptions is covered in a new article
by Karen Chang to help you understand
some of the new features and requirements related
to subscriber acquisition and retention.
There are new changes that take effect on November 1,
so if your app sells subscription products,
you may want to check this out to see what
you need to do in your app.
[INAUDIBLE] posted a two-article series
on biometric authentication.
Part 1 discusses why you might want
to consider using biometric authentication,
and there's two interesting reasons
that I ran across there.
One is maybe your app is really secure by its nature.
Maybe it's a banking app, or something where you really
need the user to log in maybe every time they use it.
Well, if they're typing their password every time,
that's pretty tedious.
Biometric authentication could allow
you to provide the security that you
need for that kind of application
without requiring the user to jump through these hoops
every time they use it or everyday
or on a frequent basis.
The other case is, maybe you punted on all that tedium,
and you like security for your social media app
or whatever, but you punted and just said,
you know what, just log in when you install it
because we don't want people to have to retype
their password every time.
If you look into biometric authentication,
then maybe you can provide the security
that you'd like on an ongoing basis
without actually requiring the user to do
stuff that is more of a hassle.
So step one in the series covers all of that stuff.
It also goes into details on how to use
the biometric prompt API, which is in the Android X
biometric library, to handle authentication.
And then part two walks through some
of the details of using that API as well as the recommended
design flow of actually authenticating users.
Motion Tags is an ongoing series of screencasts on the Android
developers YouTube channel, and they've
just posted their sixth show there,
which goes into details on key position.
This is the tag that handles layout properties, which
can then be used in the middle of a MotionLayout animation.
So you can check out the playlist for the entire series
to learn about all the different tags for MotionLayout,
and you can certainly check out the latest
episode that was posted.
Finally, ADB 50, the latest podcast episode is out,
called Aptly Named, and we believe it is.
Tor and [INAUDIBLE] and I talked with Ryan Mitchell
on the framework team about how resources work in general
and how the AAPT2 tool works in particular.
So as usual, all of the links to all
of the stuff that I talked about today are in the article,
so check out the article for those details.
And if you like the video today, go ahead
and like and share and subscribe to the Android Developers
channel on YouTube.
Thanks.
[MUSIC PLAYING]