Android O isn’t a huge update to the operating system or the application framework. For example, it doesn’t implement a whole new visual language like Android 5 Lollipop did with the introduction of Material Design. It’s an incremental upgrade—but end users will see some differences.
- [Instructor] Android O isn't a huge update to the operating system or the application framework. It doesn't implement a whole new visual language like Android 5 Lollipop did, say, with the introduction of material design, but it still has many useful features that both users and developers will appreciate. One of the main continued areas of focus is on battery life. In this version, Google targets background services. In the past, an app could set up a background service that hung around forever, listening for system broadcast messages.
As more apps were installed on a device with this behavior, the battery life could degrade. Developers now will have to use the JobScheduler API for these kinds of tasks, firing up processes periodically to check for new information, but not listening constantly like before. The end user won't know this is changed, but they might notice that they don't have to recharge their phone in the middle of the day as often. This restriction only applies to apps that target Android O. An app that targets an older API level will be able to do things exactly the way it did before, at least for now.
Also, the various location oriented APIs have been changed in Android O with updates to the device's location dispatched less frequently. Audio is getting some attention in Android O. As headphone ports have disappeared on some newer Android phones, Bluetooth audio has become more essential. Google is partnering with Sony to bring newer Bluetooth connectivity tools to the platform. There's also a new native API, that is, one that you work with in C and C++ named AAudio that can be used to implement low-latency pro audio, and there are multiple improvements in the Android frameworks MediaRecorder and MediaPlayer components.
Notifications have been redesigned in Android O. There's a new concept known to the user as notification categories, and to the developer as channels. I'll show you the code you'll need to work with notification channels in this course. Also, users can now snooze notifications, make them go away and then come back later, much like you can do with alarms. Notifications also now support timeouts, a period you can set after which a notification goes away automatically, and you can set up something called a dismissal listener that tells you when a notification has gone away and whether it was dismissed by the user or removed by the app.
You also have more control over the appearance of your app's notifications with background colors and the messaging style class that was added in Android 7 that has some new enhancements. The settings app has been redesigned. There's a new suggestions section at the top of the first page where popular settings appear. Many areas of the settings app have been reorganized so you might have to look around to find the settings you remember, but like in earlier versions, you can still use the search tool to find settings that have gone missing, and there's new and improved support for hardware-based keyboards.
When using a Chromebook that has the Google Play Store enabled or a tablet with a Bluetooth keyboard, you'll be able to navigate some apps more easily with the arrow and Tab keys. This will be especially useful in data entry forms where the Tab key can now move the cursor from one field to the next, and now developers can provide what Google calls adaptive icons, multilayered icons that can be modified at runtime by the device's launcher screen. On a Pixel, these icons might appear as circular graphics while on other platforms they might appear as squares with rounded colors, but the developer only has to deliver one set of graphics in their application package.
The OEMs implementation of the Android launcher screen will do the rest, and there are many more features and I'll talk about them in some of the following videos.
- Installing Android Studio 2.4 Preview
- Targeting Android O in a new project
- Setting up Android O testing devices
- Exploring the new features for users
- Using display notifications in channels
- Using Autofill EditText components
- Displaying video as picture-in-picture
- Exploring other new features for developers