Android 4.0 runs both on tablets and phones, having new features for UI, communication, sharing, media, connectivity, input types and enterprise.
Google released Android 3.0 (Honeycomb) in February 2011 but only for tablets, having a new “holographic” user interface that was not ready to be installed on smaller screen factor devices such as smartphones. But they said they would release a new version of the mobile OS that would run both on tablets and smartphones. Android 4.0 (Ice Cream Sandwich) which was recently announced at AsiaD does exactly that, and it is powering Galaxy Nexus, manufactured by Samsung, and supposed to appear on the market soon.
Android 4.0 includes the UI widgets and APIs that tablets with Android 3.x have:
- UI: Fragments and content loaders, action bar, resizable home screen widgets, rich notifications, multi-selection drag&drop clipboard
- Graphics/Animation: Hardware-accelerated 2D graphics, property-based animation, 3D graphics
- Communication: HTTP Live streaming, support for Bluetooth A2DP and HSP devices, support for RTP (Real-time Transport Protocol), MTP/PTP (Media/Photo Transfer Protocol), and DRM (Digital Rights Management), accepting input from keyboard, mouse, gamepad, joystick
There are new features and APIs in Ice Cream Sandwich, some of them being described by category below.
UI. A new GridLayout for faster layout and rendering. The TextureView allows manipulating of OpenGL ES rendering like it was a normal object, and this feature is appropriate for camera preview, decoded video, or game scenes. 2D drawings can be hardware accelerated now, making it possible to scale, rotate or apply other transformations to text in a visually appealing mode.
Communication and sharing. All applications can now share information, having the possibility to integrate contacts, profile data, status updates from various social networks and calendar events using the Social and Calendar APIs. Android Beam allows communication between applications running on NFC-enabled phones simply by touching the phones. The ShareActionProvider widget allows developers to add sharing capabilities to their applications.
Media. A new API based on Khronos OpenMAX AL 1.0.1 for streaming multimedia, offering more control over streamed content. Camera supports ZSL exposure, continuous focus, image zoom, capturing full-resolution snapshots while shooting videos, face detection and others.
New media effects for transforming images and videos and run on the GPU: adjust color levels and brightness, change backgrounds, sharpen, crop, rotate, add lens distortion, and others.
Support for WebP, VP8, HTTP Live streaming v.3, Matroska containers.
Connectivity. With WiFi Direct applications can communicate with other nearby phones without having to use an Internet connection or a hotspot. Bluetooth HDP (Health Device Profile) is now supported enabling communication with corresponding health devices and sensors.
Input types. Android 4.0 supports new stylus input events such as pressure, tilt and distance axes, and others. It differentiates between stylus, finger, mouse and eraser, and supports multiple buttons devices.
Enterprise. These can benefit from the VPN API, its associated secured storage and the built-in VPN client in order to access L2TP and IPsec networks. The Device Policy Manager can be used to remotely control Android devices, including disabling the camera when working in sensitive environments.
There are approximately 4% changes between the API Level 13 (Android 3.2) and 14 (Android 4.0) including 804 additions (fields, methods, classes, etc.), 370 changes and 45 removals. The API Differences Report shows 5 new packages.
The SDK Tools (revision 14), Support Package (r4) and ADT plug-in for Eclipse (r14) have been updated in order to support the Android 4.0 API.