The Android 1.6 SDK, based on space-age “donut” technology, is now available for Android application developers.
The biggest good news is that very little has been outright removed in this release, from my quick analysis of the SDK differences report. While that may not sound like much of a win, trying to fix where your app is broken due to removed APIs (think the System.Secure change from Android 1.5) can be rather troublesome.
We get lots of goodies in this release, such as gestures, text-to-speech, yet more search APIs, and more support for accessibility. Users get a faster camera, VPN support, and a piggy application blame system…er, I mean…battery usage monitor, to help identify apps that are chewing up CPU cycles.
However, this release will introduce two headaches.
The small headache is that you now need a permission to access the SD card (WRITE_EXTERNAL_STORAGE). So long as your application is written to use API Level 3 (a.k.a., Android 1.5), you will not need the permission. As soon as you move up to API Level 4 or beyond, to take advantage of new APIs and such, you will need to request this permission. This is a minor bother, but one some developers will miss.
The bigger headache will be supporting new screen sizes. QVGA (smaller) and WVGA (bigger) are now officially supported. Moreover, you will want to augment your applications to declare what screens it supports explicitly and that you have tested, via a new manifest element (
<supports-screens>). Screen sizes you have not tested will be run in “compatibility mode”, meaning Android will do its level best to make your application usable, but YMMV.
Devices will start getting Android 1.6 within weeks, though exact timetables are presumably up to device manufacturers and, where relevant, mobile carriers.
Watch the Android Developers Blog for posts describing some of the new donut-ized features in Android 1.6 and how to use them. And, of course, watch this space for further developments.
Mark Murphy is the founder of CommonsWare and is the author of The Busy Coder’s Guide to Android Development, The Busy Coder’s Guide to Advanced Android Development, and Android Programming Tutorials.