- What’s New In Ice Cream Sandwich for Users?
- What’s New In Ice Cream Sandwich for Developers?
- How Can I Get Started with the Latest Ice Cream Sandwich SDK and Tools?
What's New In Ice Cream Sandwich for Developers?
Now let's talk about what Ice Cream Sandwich has to offer developers. As anticipated, Android 4.0 marks the start of a unified platform for all Android devices, be they phones, tablets, televisions, or toasters. This alone makes ICS a compelling sell to developers: a single consistent platform to target, now and in future releases. Many of the exciting features of Honeycomb, like action bars, are now smartphone ready, which will likely mean that devices capable of running Ice Cream Sandwich will leapfrog over Honeycomb and start running the latest ICS firmware once carriers have had a chance to evaluate the platform for themselves.
There are also a number of updates to existing technologies and new features in ICS that you may want to take advantage of in your Android applications. Some of these features include:
- ICS takes personal contact information to a new level with improved social networking features in the android.provider.ContactsContract content provider. Developers can use these new features to integrate the user's social network information deeply into the platform.
- ICS improves upon the Phone application by adding voicemail support with the call log information. There is now a Voicemail API and content provider, allowing developers to work with playable voicemail messages as well as other call information. See android.provider.VoicemailContract for details. Users may know the higher level feature as visual voice mail.
- The Calendar is now accessible via a legitimate, publicly supported content provider that allows developers to create and modify a user's calendar events. See android.provider.CalendarContract for details. No longer will developers have to use undocumented features to access the calendar. If you already are, you'll have to update for ICS.
- ICS adds more near-field communication (NFC) support with a new feature they are calling Android Beam technology. The technology is using NDEF Push. All apps can take advantage of NFC support in the form of Android Market application referrals. Some developers may choose to go far beyond this baseline and incorporate some physical "bump and beam" features for their users to interact with one another. Hopefully, this means we'll be seeing more NFC-capable Android devices in the near future. See the android.nfc package for details and, in particular, the NdefMessage class.
- The new camera features and improvements available in ICS can be accessed programmatically by developers. Face detection is a hot new ICS feature which can be accessed via the Camera.Face class. The android.hardware.Camera class has been updated or easier exposure and zoom control, the ability to take snapshots while capturing video, and the ability to apply effects to photos and video (like redeye reduction) are all now at the developer's fingertips in the android.media.effect package. Note that these effects are applied directly to OpenGL textures.
- Two new sensor types are now supported as part of the Android SDK: ambient temperature and relative humidity. As with other sensor types, they are only supported if the host device has them so don't forget to check before you try to use them. See the android.hardware.Sensor class for details.
- A new remote control client is available for multimedia apps. This allows your multimedia application to be controlled by playback devices, such as those found on a lock screen. This also allows your application to expose information about currently playing media, such as title or album art.
- In terms of changes to user interface controls, there are a couple of new items to be aware of. There is a new layout called GridLayout which is like an enhanced TableLayout with better performance and more flexible child control placement. There are also several new View controls including a Switch button and a Space view for making distinct space between other View controls (much like clear pixels in HTML).
- 2D hardware acceleration is a requirement for Android devices running ICS. This will likely be a good indicator as to which legacy Android devices are capable of updating their firmware to ICS from Gingerbread or Honeycomb.
- The more device diversity that the platform supports, the more likely we need to support various new types of input methods. ICS delivers enhanced input method support appropriate for devices like tablets and televisions, including stylus and mouse events like hover.
- Since users can monitor and control network usage by application, developers can now create network settings screens that can be opened directly for the data management system application. This allows developers at let users fine-tune how an application uses data, which may mean the user doesn't turn off data to the application completely.
- Developers can now incorporate spell checking and autocorrect support into their applications easily with the new text service API. See the android.service.textservice package for details.
- In the interest of providing the smoothest, most frustration-free user experience for all types of users, ICS includes improved accessibility and text-to-speech APIs. See the android.accessibilityservice and android.speech.tts packages for details.
- Enterprise application developers will be pleased with the enhanced enterprise features, including device policies for camera usage and a new VPN client API. See the android.net.VpnService class for details on how to build your own VPN solutions.
We've hit on the Ice Cream Sandwich platform highlights here, but there are many other new changes coming with the ICS release. See the Android Developer website for details. The Android Developers blog will likely be featuring some of the most exciting tidbits in their posts over the coming months as well.