Android SDK moves to 0.9 beta status, on track for 1.0
It may be unusual for the SDK for a platform to be finalized on or about the same time as the release of the platform itself, but news from Android's key developers today indicates they're quite comfortable with cutting it close.
In yet another indication that the first mobile phone supporting the Android platform is imminent, the Open Handset Alliance took the "preview" label off of its SDK this afternoon, officially upgrading the project to a beta which it hopes will have the look and feel of the final 1.0 release.
Now being described with more solid, tangible terms, the new SDK's documentation rightfully explains Android as an operating system: specifically, as a series of open libraries and application frameworks atop a Linux kernel.
One of the more quaint and reminiscent segments of the new SDK is a Java demo version of the classic Lunar Lander game. A scan of the source code shows it uses the same core principles as when this old game first appeared on DEC computers in the 1970s. Here, you use a few keys on your phone to control the rate of descent as gravity catches up with your LEM orbiter.
But what's important about the demo is how it demonstrates drawing techniques on the phone. Honestly, the Android phone's processors will be able to make these simple trigonometry calculations rather quickly; and that in and of itself poses a problem. If you were to redraw the LEM's position every time you did a recalculation, the way an early DEC or TRS-80 version would do, you'd end up with a never-ending game. So instead, the core logic of the game creates "state bundles" that are saved in memory.
Periodically -- though not nearly as often as these bundles are recalculated -- it comes time to redraw the screen. Doing that involves a process that Windows veterans will be familiar with, called invalidating the screen. It's a little signal sent to the system that says the screen is "dirty," thus triggering an event which redraws the screen from scratch. Paying attention to how this is accomplished will give Java programmers who haven't been accustomed to low-level programming in a long while ("Have we run across a vertical blank and is it time to redraw the screen?") an idea of how to play fairly with the operating system.
There is a frankly staggering number of changes to the API, some of them bug changes, most of them general improvements, but quite a few of them being fundamental syntax alterations. That was probably to be expected, since the Alliance had classified previous versions as "previews" and gave prospective developers plenty of warnings. No complaints had been registered on the Developers' Forum as of Monday afternoon, though one independent author of a book on Android programming did acknowledge he might have to rewrite every example he's come up with thus far.
An official roadmap for Android SDK development, also published today, clearly stated that a preview release for SDK version 1.0 is being planned for next month, with a final version compatible with all planned features remains tightly held to the fourth quarter of the year. That's the same timeframe for what is believed to be the final release of the first commercial Android phone, which is widely expected to be an HTC Dream sold in the US by T-Mobile.