Subtitles section Play video Print subtitles [MUSIC PLAYING] CHET HAASE: Hey. [CLAPPING] DAN SANDLER: Hey everybody. Welcome back to What's New in Android. I'm Dan Sandler from the System UI team. CHET HAASE: I'm Chet Haase from the Android Toolkit team. ROMAIN GUY: And I'm Romain Guy from-- I still don't have a name for my team. So from the Android team. [LAUGHTER] And you may remember us from other talks, such as What's New in Android 2017, What's New in Android 2016, What's New in Android 2015, What's New in Android 2014. Not What's New in Android 2013. CHET HAASE: We don't talk about that one. ROMAIN GUY: We don't talk about that one. DAN SANDLER: You know, that was the time that we had Jelly Bean two years in a row. It was brilliant. We didn't have to redo the logo or anything. [LAUGHTER] ROMAIN GUY: But now-- CHET HAASE: What's New in Android, what I like to call the Android keynote. Nobody else does. But I like to call it that. Because this is where we talk to you about all of the developer stuff going on in the Android platform. In particular, let's talk about Android P. Specifically, let's talk today about-- oh, hang on. Android APIs. [LAUGHTER] ROMAIN GUY: All right, first we'll start with distribution. You saw in the keynote we introduced the dynamic ad bundles. [? Tor's ?] demo was pretty clear. It's pretty easy for you. All you have to do is click your different menu when you build your application. And we're going to save you some space. It's going to be faster and easier for your users to download your app. And I'm sure you have a lot of questions about it. So we have a couple of talks this afternoon, at 5:00 PM and 6:00 PM. Go there if you want answers, because we don't have them. CHET HAASE: So you're going to see a slide a whole lot like this through the rest of the talk. I feel like the main function we serve in this talk is to tell you the other talks to go to. We're like the appendix. We're like the index for the rest of the content. DAN SANDLER: I mean, we're like obsolete, like vestigial. Is that what it is? CHET HAASE: I don't like to think about that. ROMAIN GUY: Yeah. Let's be clear. A lot of people back at work have done all the hard work. We just get to go on stage and talk about their hard work. CHET HAASE: So speaking of that, let's talk about Android Jetpack. We heard Steph talk about this in the developer keynote. This is a set of components, as well as guidance on how to build better Android applications. All of you are familiar with most of what is in Android Jetpack already. What we're doing is adding to it over time with stuff that's going to make it even better. And we're also improving it over time. One of the major steps that we're taking is what I like to think of as a refactor, because it's a refactor. My favorite thing about the support library is how the package names embed the release number in them. So, for example, we support things like v4. Actually we don't support v4 anymore. We have a min SDK of at least 14 now. But it's in the package name. Isn't that a little bit silly? So we're doing away with that. We're doing a whole lot of tedious renaming. And we're also providing tools to make it easier for you to do the similar refactoring that you're going to need to do in your application, as well as in Android Studio. Everything is being renamed to something more appropriate called Androidx. If you want to know more about the details of that, the renaming, as well as doing more modular, more fine-grained splits to make sure that you don't drag in too much stuff, go to the talk. Learn what's new in Android Support Library. Also, there was an article that was posted on the Android Developers blog about a half hour ago. Check that out for more of the details there. Let's talk about Android Test, which is part of this new Jetpack thing going on. Android Test is the ATSL stuff, the Espresso stuff that hopefully you were already using really good ways to test your application. Now, they provide first class Kotlin support, as well as more elegant APIs for reducing a lot of the boilerplate. Here's a simple example. We used to have a way of asserting, which, A, was not necessarily obvious in the parameters you were passing. Also, unobvious in the order of the parameters that you were passing. And then it would give you an error message that also didn't really help very much. So we have something a little more sensible now. You can assert that it's actually working on the visible property. And the error message gives you something more that you can work with a little bit better. Go to the Frictionless Android Testing talk for more information about that stuff. Jetpack architecture is about the architecture components that were announced last year at I/O and then iterated with feedback from the community, and finally went 1.0 in the fall. So we have the release parts of those, which includes all the Lifecycle stuff, and the ViewModel stuff, as well as the Room, the persistent data model stuff, and LiveData. So hopefully you are using that stuff already, at least in your new applications. And what we also have is recently we released the paging library for doing asynchronous data paging into RecyclerView. That was alpha, then beta, because that's how those things work. And now it's 1.0 this week. So please start using that. And we also talked in the developer keynote about a couple of new things that you should check out soon. WorkManager is currently in preview. There's going to be a talk about it. It's about job scheduling, but job scheduling in a way where we handle all the cases back in previous releases, instead of you having to use specific approaches, depending on what version and device that you're on. Also, navigation. It turns out that up versus back is a hard problem for applications to solve. We are making that much easier. And we're integrating with the tool to make it even easier yet. So go to all these talks. There's an overview talk, as well as specific talks on Navigation Controller and WorkManager, and also a talk on RecyclerView and Paging. Me? Again? ROMAIN GUY: It says your name on the slide. CHET HAASE: I keep building suspense into this thing. What's going to happen next? Who's he going to hand the clicker to? It's still mine. DAN SANDLER: It's still you. CHET HAASE: OK. Let's talk about battery. This is one of the ongoing efforts in Android to help the users, because it turns out battery is really important. We're all power users. Unfortunately, we just keep using the power. So what can we do about it? We can create these app standby buckets. We're going to monitor the usage of applications,