Google has released the Fragments Library for Android 1.6 or later - this makes it possible to write tablet apps that run on a wider range of Android tablets than before.
What's the difference between a smart phone and a tablet? The answer is mostly a matter of screen size. You wouldn't think that it makes things so difficult that you need a different operating system for each but in fact we have Android 3, or Honeycomb, for tablets and Gingerbread and earlier versions of Android for phones. Google has promised that in the future it will merge the two lines of the Android OS to provide a single platform.
In the meantime the good news is that Google has released a static library that exposes the Fragments API for applications that run under Android 1.6 or later. Put simply this makes it much easier to write unified applications that can run on the older generation of Android tablets that aren't going to be upgraded to Honeycomb any time soon or ever.
Fragments isn't rocket science. What it does is that it allows you to create a panelled layout that can be displayed on a single screen or as separate pages if the screen size is too small to accommodate the entire layout.
Things are a little more tricky than this diagram suggests because a fragment is a self-contained component with it own UI. A fragment is essentially a mini-Activity complete with its own life cycle and it can be re-used.
There are lots of Android tablets on the market and lots already sold that don't or can't use Android 3.0 and the availability of a fragments library makes it possible to create apps that work on these as well as true Android 3.0 tablets which are currently in short supply. As far as programmers are concerned this might well be enough of a unification for the time being.
The fragment library is available through the SDK Updater as the “Android Compatibility package”.
Just one Android to rule them all