December 20, 2014

An Early Look at the Android 2.0 SDK

android_20_eclairWell, the Android 2.0 SDK has been out for a few hours now. In and around helping out with the Sprint Open Developer Conference, I have been reading up on and analyzing what is new in the SDK, from a programmer’s perspective.

This release seems more focused at end users than developers. Much of the sizzle comes from things like Exchange support, camera enhancements, and whatnot. That’s not to say that Android 2.0 adds nothing for developers, just less than one might expect from a major version release.

The primary new APIs are the long-lost Bluetooth APIs and the new contacts and sync APIs. The former have been oft-requested, but both should open up many new areas for new apps or new capabilities in existing apps.

As welcome are the relative few planned regressions. Outside of two constructors for BitmapDrawable, nothing was outright removed in this release. The only published functionality change — BACK button and kin now being processed on key-up rather than key-down events — should impact fairly few apps. Of course, there are probably some other things that are different that are undocumented, as there usually are. Developers will suss out those issues over the next several weeks. However, compared to Android 1.5 (wiping out a bunch of functionality in the area of settings management), Android 2.0 seems mild.

Some of the best improvements, though, may come from the tools support. There is a new tool to suggest optimizations for your XML layout files (layoutopt), to go along with tighter integration between DDMS and Traceview for performance diagnostics. These will help developers wring better performance out of their apps for existing hardware, as we await snapping dragons, bigger cortexes, and other stuff to improve hardware speed.

Some changes need further evaluation. For example, the HTML5 features are decidedly welcome, particularly the <video> tag support. However, we need to do more testing to see how well these features hold up in the real world, whether they are available from the WebView widget (remember: Gears was only available to the Browser app), and so on. Similarly, we will need a lot more time to evaluate the multi-touch data that comes in MotionEvent objects.

Overall, Android 2.0 is shaping up to be an interesting, if not earth-shattering, release for developers.