The latest post from Android development team lead tech writer Scott Main is brimming with tips and tricks on how Android app developers can set the stage for their apps to run on the upcoming “unifying” and “cohesive” version of Google’s mobile operating system–Android 2.4/4.0 Ice Cream Sandwich (ICS).
Apart from reiterating that the ICS release will support a variety of screen sizes (from big screens down to small screens), Main advises app developers who create apps exclusively for large-screen Honeycomb tablets that Honeycomb apps will be compatible not just with ICS-powered tablets but also with phones and other small-screen devices. Thus, an app explicitly intended for tablets only must be prevented from being installed on smaller-screen devices–or support smaller screens with the same installation file.
One way to specify that an app is for x-large screen devices only (e.g., tablets) is to add the
declaration to the app’s manifest.
If a Honeycomb app is intended to work not just on tablets but also on other devices with smaller screens, Main advises against publishing a different Android Package (APK) targeting the smaller-screened devices. Instead, Main recommends updating the Honeycomb app in order to make it run on smaller screens. Publishing only one APK compatible with all devices “simplifies your updating and publishing process and makes it easier for users to identify your app,” Main said.
As for making a Honeycomb app work on handsets, Main suggests two important tips:
- Build your design around Fragments that you can reuse in different combinations, in single-pane layouts on handsets and multi-pane layouts on tablets
- Be conservative with your Action Bar design so the system can adjust its layout based on the screen size
In short, Main is suggesting flexibility for the app’s layout, which consequently adapts to the screen size of the device the app is running on.
The Android development team has not yet released the Software Development Kit for Ice Cream Sandwich, so, for now, Honeycomb app developers have no way to test their apps on Honeycomb-running handsets (which are non-existent anyway, since Honeycomb runs only on tablets).
However, Main provides a handy trick for early testing of alternative layouts: use the “land” configuration qualifier (i.e.,
res/layout-land/main.xml), which ought to make a Honeycomb tablet (or emulator) show the tablet layout in landscape orientation, while the portrait orientation shows the handset layout in the same device.
Main’s original post on the Android Developers Blog has more information (including technical examples) on how Honeycomb developers can prepare their wares to run on handsets when Ice Cream Sandwich arrives.
I’m not sure if anybody has asked this before, but let me ask it anyway: can you imagine what it would be like for you as an app developer to see your Honeycomb app running smoothly on a Google Nexus Prime handset running Android 2.4/4.0 Ice Cream Sandwich?