Wow. Google just released Android N. It's an early, eeeaaarrlllyyy preview of Android N, but it's the next version of Android nonetheless. As unexpected as the actual release is, Google updated the SDK and APIs for Android N as it normally does. Developers may download the SDK and install Android N on their Nexus device starting today. Here's what's new.
The first new API is perhaps the most important. Called android:resizableActivity, this tool lets developers create split-screen behaviors for their Android smartphone and tablet apps. Until now, this functionality has been limited to phones and tablets made by Samsung and LG -- and only because those OEMs added the API on their own. Android N bakes multi-window support into the core operating system. Google says split-screen mode is supported on both portrait and landscape orientations, and can happen at the app or the system level. This can only lead to great things for apps and Android devices.
An API called RemoteInput Notification should help improve the act of responding to incoming notifications. Google says this API was first created for Android Wear smartwatches, but is now compatible with phones and tablets. The idea is to let people respond to messages directly from the notification shade without completely supplanting the current task. Google didn't explain how this API pertains to most apps, but presumably it enables the reply function in the notification shade. Another tool targeting notifications is the Notification.Builder.set(Group) for bundling together notifications for the same app. For example, Google says a handful of notifications from the messaging app can be smoothed together into one, while still allowing the individual messages to expand thanks to a new two-finger gesture.
Google continues to target efficiency. In Android 6.0 Marshmallow, for example, it added Doze. Doze automatically puts background processes to sleep when the phone is inactive. Android N takes things a step further by conserving power whenever the screen is turned off. This will chiefly impact developers and apps that are not already optimized for Doze. Moreover, Android N debuts Project Svelte. Svelte' a goal is to reduce background processes in order to make the platform more efficient and thereby usable by low-spec'd hardware. Apps that already use JobScheduler to manage background tasks are safe, but Google has updated JobScheduler so developers who've not already taken advantage can catch up easily.
Last, Google improved Android N's support for the Java 8 language. This is a big deal because it will allow developers to take advantage of Java 8's features and still target devices running systems as old as Android 2.3 Gingerbread. For example, Java 8 functions reduce boilerplate code. On the flip side, other Java 8 tools, like streams and functional interfaces, can be used to target Android N devices.
How can you get Android N? Well, first download the latest SDK, which includes system images for testing and an official Android emulator for the latest Nexus devices (Nexus 6, 5S, 6P, 9, Player, and Pixel). Google is dropping the price of the Pixel from $499 to $349 for developers. Google makes it pretty clear that the preview is not meant for consumers (a consumer trial will be offered later this year). In fact, Google says install the preview on secondary devices only, as it is still early days and rather buggy.
Speaking of early, "By releasing a 'work in progress' build earlier in development, we have more time to incorporate developer feedback," explained Google VP of Engineering Dave Burke. "Also, the earlier preview allows us to hand off the final N release to device makers this summer, so they can get their hands on the latest version of Android earlier than ever. We’re looking forward to getting your feedback as you get your apps ready for N.
Conveniently, Google today also launched the Android Beta Program, which will allow developers to install preview builds of Android N directly to their devices over the air. Google hopes simplifying the preview install process will encourage more developers to check it out.
You can get started here.