Immediately after launching Android 4.0 and the Samsung Galaxy Nexus, Google has made the Ice Cream Sandwich SDK available.
The key feature of Android 4.0 is that it provides a unified UI framework that lets you create the same apps for phone and tablets - and more according to the SDK documentation.
It includes the by-now familiar Android 3.x interface elements and APIs, such as fragments, content loaders, Action Bar, rich notifications, re-sizable home screen widgets, and offers consistent design practices, simplified code and resources, and streamlined development across the range of Android-powered devices.
There are several new APIs to extend Android's social and sharing features:
Social API - new unified store for contacts, profile data, status updates, and photos. It also supports recent activity feedback, a standard way for applications to “tag” a contact with common activity, such as when the user calls the contact or sends an email or SMS message. Applications can also let users set up a social connection to a contact from the People app.
Calendar API - a shared calendar content provider and framework that can add events to the shared database and manage dates, attendees, alerts, and reminders. Applications can also read entries from the database, including events contributed by other applications, and handle the display of event alerts and reminders.
Visual voicemail API - enables contributions to a unified voicemail store; voicemails are displayed and played in the call log tab of the platform’s Phone app.
Android Beam - a near field communications (NFC) - based feature that lets users instantly share information about the apps they are using, just by touching two NFC-enabled phones together. For developers, Android Beam is a new way of triggering almost any type of proximity-based interaction such as exchanging contacts, setting up multiplayer gaming, joining a chat or video call or sharing a photo or video. Developers have complete control over the data that is shared and how it is handled, so almost any interaction is possible. For larger payloads, developers can even use Android Beam to initiate a connection and transfer the data over Bluetooth, without the need for user-visible pairing.
ShareActionProvider - a widget that lets developers embed standard share functionality and UI in the Action Bar of their applications and set an intent that describes the desired sharing action. The system then builds the list of applications that can handle the share intent and dispatches the intent when the user chooses from the menu.
For the developer Android 4.0 has new UI components and capabilities that will help with layout, design and performance of apps:
GridLayout - improves the performance of Android applications by supporting flatter view hierarchies that are faster to layout and render and allow developers to manage alignments between components that are visually related to each other, even when they are not logically related, for precise control over application UI. GridLayout is also specifically designed to be configured by drag-and-drop design tools such as the ADT Plug-in for Eclipse.
TextureView object - lets developers directly integrate OpenGL ES textures as rendering targets in a UI hierarchy, making it easy to embed camera preview, decoded video and OpenGL game scenes.TextureView can be viewed as a more powerful version of the existing SurfaceView object, since it offers the same benefits of access to a GL rendering surface, with the added advantage of having that surface participate fully in the normal view hierarchy.
Hardware-accelerated 2D drawing - Devices running Android 4.0 are required to support hardware-accelerated 2D drawing. With accelerated scaling, rotation, and other 2D operations, as well as accelerated UI components such as TextureView, developers can add great UI effects while maintaining optimal performance on high-resolution screens, even on phones.
New input types, text and accessibility features in the Android 4.0 SDK include:
Support for stylus input events - including tilt and distance axes, pressure, and related motion event properties. To help applications distinguish motion events from different sources, the platform adds distinct tool types for stylus, finger, mouse, and eraser. For improved input from multi-button pointing devices, the platform now provides distinct primary, secondary, and tertiary buttons, as well as back and forward buttons. Hover-enter and hover-exit events are also added, for improved navigation and accessibility. Developers can build on these new input features to add powerful interactions to their apps, such as precise drawing and gesturing, handwriting and shape recognition and improved mouse input,
Text services API - lets applications query available text services such as dictionaries and spell checkers for word suggestions, corrections, and similar data.
Accessibility record - the platform adds accessibility events for explore-by-touch mode, scrolling, and text selection. For these and other events, the platform can attach a new object called an accessibility record that provides extra information about the event context. Using the accessibility record and related APIs, applications can now access the view hierarchy associated with an event. Applications can query for key properties such as parent and child nodes, available states, supported actions, screen position, and more. Applications can also request changes to certain properties to help manage focus and selected state. For example, an accessibility service could use these new capabilities to add convenient features such as screen-search by text.
The new Android 4 simulator
Text-to-speech API - lets developers write text-to-speech engines and make them available to any app requesting TTS capabilities.
Other enhancements include network APIs for efficient network usage and, in the realm of security, authentication management with a new keychain API and encrypted storage and address space layout randomization (ASLR) to help protect system and third party applications from exploitation due to memory-management issues. A new VPN client API enable enterprise developers to build or extend their own VPN solutions on the platform.
Android 4.0 media capabilities have been expanded with support for MPEG-2 transport and a new native API to support low-level media streaming. Expanded support for additional media types means that,for video, the framework now supports streaming VP8 content, and for streaming multimedia, it supports HTTP Live streaming protocol version 3 and encoding of ADTS-contained AAC content. Additionally, developers can now use Matroska containers for Vorbis and VP8 content.
Its expanded camera capabilities include a face-detection service that identifies and tracks faces in a preview and returns their screen co-ordinates. For image processing a set of high-performance transformation filters let developers apply rich effects to any image passed as an OpenGL ES 2.0 texture.
With its new audio remote control API any music or media app can register to receive media button events from the remote control and then manage play state accordingly. The application can also supply metadata to the remote control, such as album art or image, play state, track number and description, duration and genre.
Android Developer Site where you can download Android 4.0 SDK.
To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Twitter or Facebook or sign up for our weekly newsletter.