What's New In Honeycomb

By Zigurd Mednieks
January 27, 2011

Google just released a preview of the Honeycomb SDK. It includes an emulator that will run the Honeycomb operating system, so you can get a taste of what it will be like to use Honeycomb, and it includes SDK support for Honeycomb, so developers can get started writing Honeycomb applications. You can get it here.

New APIs

Honeycomb contains several new APIs. The two most important affect the way applications will look and work on Honeycomb. These are the new Fragment class, which adds a modular, reconfigurable layer to Activity objects, and the Action Bar, which changes the way menus work. Here we will summarize what the changes mean to Android developers:

Fragment

Honeycomb was made for tablets, and the Android user interface was getting stretched to the breaking point, especially on large tablet screens. While application authors can create different strategies using Android Layout objects to provide specially designed layouts for larger displays, the Android API needed explicit support for larger screens and modules within those screens.

The Fragment class is designed to support UIs where parts of a screen, implemented using the Android Activity class, can have what amounts to nested replaceable parts - a kind of Activity-within-an-Activity, with transition animations and a back-stack just like the Activity class supports.

You can see an Activity designed with Fragment objects here: http://developer.android.com/sdk/images/3.0/contacts_full.png

Action Bar

Also shown in the link above is the other important new element in the Android UI, the Action Bar. That is the part of the screen shot with the application icon appearing in the top left corner of the screen, and a set of menu icons in the top right corner.

Android's option menu, which appears when you press the menu button, has long been a weak point in the Android user interface, and the Action Bar provides a new and improved way of providing the user with menu-based interaction.

To use the Action Bar, your application will use menu definitions in XML, much the same way that menus are currently defined, but with new attributes that control how menu items are displayed in the Action Bar.

System clipboard

Honeycomb provides a general-purpose clipboard for cutting and pasting any kind of data between applications. The ClipboardManager provides a new API for this functionality.

Drag and drop

Honeycomb provides a common mechanism to implement dragging and dropping, which is integrated with the clipboard. New methods in View classes, among them the setOnDragListener method and the OnDragListener class.

App widgets

Honeycomb supports more View types in app widgets.

Status bar notifications

The status bar get some improvements that will make notifications better looking and more interactive, including buttons with PendingIntent objects so applications can be controlled directly from the notification.

Content loaders

The Loader class facilitates easier implementation of asynchronous content loading, and the CursorLoader class does the same for the results of a query.

Bluetooth headsets

A2DP support in Honeycomb provides better control of Bluetooth headsets.

Animation framework

In Honeycomb, you can animate any property of any object. That is, animation has been vastly generalized.

Multiple choice

ListView and GridView support multiple selection in Honeycomb.

View transforms

View transforms are more convenient and generalized in Honeycomb.

New themes

Tired of pumpkin-orange with a black background? Honeycomb includes new themes. Tablets will use a theme called "Holographic."

New widgets

Several new classes in the widget package provide standardized high level UI tools for common tasks: Animated adapter views, calendar views, list pop-ups, number pickers, pop-up menus, search term entry, and 3D stacks.

Graphics

Honeycomb adds support for hardware accelerated 2D graphics, specifying the use of a hardware or software layer, and Renderscript - a kind of C-subset just-in-time compiler for graphics-intensive code.

Media

Applications will be able to perform new tricks with cameras, including using an image stream as an OpenGL texture.

Android as a general-purpose operating system

Android is evolving to be an appropriate operating system for tablet devices. Tablets are transforming business computing - a trend which will gain a lot of momentum this year and change the way computing is perceived over the next few years. The PC architecture is still the basis of what we call general purpose computing, but that view will be challenged by tablet devices and tablet operating systems. The changes in Honeycomb are the first step in making Android into a general purpose operating system.

In writing Programming Android, my co-authors and I anticipate that much of what is now client computing on PCs will migrate to tablets, and that common approaches to implementing client applications in a business setting, like a locally cached REST architecture, should be illustrated and explored in Android applications.


You might also be interested in:

News Topics

Recommended for You

Got a Question?