8edad6f16f
Change-Id: I03cae5bdb7b806e81cc6c983a014de212cb80c73
1010 lines
52 KiB
Plaintext
1010 lines
52 KiB
Plaintext
page.title=Android 4.0 Platform Highlights
|
||
|
||
@jd:body
|
||
|
||
|
||
<style type="text/css">
|
||
#jd-content {
|
||
max-width:1024px;
|
||
}
|
||
#jd-content div.screenshot {
|
||
float:left;
|
||
clear:left;
|
||
padding:15px 30px 15px 0;
|
||
}
|
||
#jd-content div.video {
|
||
float:right;
|
||
padding:0 0 40px 60px;
|
||
margin-top:-30px;
|
||
}
|
||
#jd-content table.columns {
|
||
margin:0 0 1em 0;
|
||
}
|
||
#jd-content table.columns td {
|
||
padding:0;
|
||
}
|
||
#jd-content table.columns td+td {
|
||
padding:0 2em;
|
||
}
|
||
#jd-content table.columns td img {
|
||
margin:0;
|
||
}
|
||
#jd-content table.columns td+td>*:first-child {
|
||
margin-top:-2em;
|
||
}
|
||
.green {
|
||
color:#8db529;
|
||
font-weight:bold;
|
||
}
|
||
</style>
|
||
|
||
<div class="video">
|
||
<iframe width="380" height="223" src="http://www.youtube.com/embed/-F_ke3rxopc?hd=1" frameborder="0"
|
||
allowfullscreen></iframe>
|
||
</div>
|
||
|
||
<p>Welcome to Android 4.0!</p>
|
||
|
||
<p>Android 4.0 delivers a refined, unified UI for phones and tablets and
|
||
introduces innovative features for users and developers. This document provides
|
||
a glimpse of the many new features and technologies that make Android 4.0
|
||
simple, beautiful, and beyond smart. <!--For technical details about
|
||
new developer APIs described below, see the <a
|
||
href="{@docRoot}sdk/android-4.0.html">Android 4.0 API Overview</a>
|
||
document.--></p>
|
||
|
||
<ul>
|
||
<li><a href="#UserFeatures">Android 4.0 for Users</a></li>
|
||
<li><a href="#DeveloperApis">Android 4.0 for Developers</a></li>
|
||
</ul>
|
||
|
||
<h2 id="UserFeatures" style="clear:right">Android 4.0 for Users</h2>
|
||
|
||
<div style="padding-bottom:0em;">
|
||
<a href="{@docRoot}sdk/images/4.0/home-lg.png" target="_android"><img style="float:right;xborder:1px solid #ddd;border-radius: 5px;" src="{@docRoot}sdk/images/4.0/home.png" alt="" height="300" width="180" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/lock-lg.png" target="_android"><img style="float:right;border:1px solid #ddd;border-radius: 5px;" src="{@docRoot}sdk/images/4.0/lock.png" alt="" height="300" width="180" /></a>
|
||
</div>
|
||
|
||
|
||
<h3 id="simple" style="color:#172861">Simple, beautiful, beyond smart</h3>
|
||
|
||
<p>Android 4.0 builds on the things people love most about Android — easy
|
||
multitasking, rich notifications, customizable home screens, resizable widgets,
|
||
and deep interactivity — and adds powerful new ways of communicating and
|
||
sharing.</p>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Refined, evolved UI</strong></p>
|
||
|
||
<p>Focused on bringing the power of Android to the surface, Android 4.0 makes
|
||
<strong>common actions more visible</strong> and lets users navigate with
|
||
simple, intuitive gestures. Refined <strong>animations</strong> and feedback
|
||
throughout the system make interactions engaging and interesting. An entirely
|
||
<strong>new typeface</strong> optimized for high-resolution screens improves
|
||
readability and brings a polished, modern feel to the user interface.</p>
|
||
|
||
<p>Virtual buttons in the System Bar let users navigate instantly to Back, Home,
|
||
and Recent Apps. The <strong>System Bar</strong> and virtual buttons are present
|
||
across all apps, but can be dimmed by applications for full-screen viewing.
|
||
Users can access each application's contextual options in the <strong>Action
|
||
Bar</strong>, displayed at the top (and sometimes also at the bottom) of the
|
||
screen.</p>
|
||
|
||
<p><strong>Multitasking</strong> is a key strength of Android and it's made even
|
||
easier and more visual on Android 4.0. The Recent Apps button lets users jump
|
||
instantly from one task to another using the list in the System Bar. The list
|
||
pops up to show thumbnail images of apps used recently — tapping a
|
||
thumbnail switches to the app.</p>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margin-right:.5em;float:left;width:182px;padding-top:.5em;">
|
||
<a href="{@docRoot}sdk/images/4.0/tasks-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/tasks.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1em;">The Recent Apps list makes multitasking simple.</div>
|
||
<a href="{@docRoot}sdk/images/4.0/lock-camera-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/lock-camera.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1.75em;">Jump to the camera or see notifications without unlocking.</div>
|
||
<a href="{@docRoot}sdk/images/4.0/contact-call-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/contact-call.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
|
||
<!--<a href="{@docRoot}sdk/images/4.0/quick-response-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/quick-responses-new.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>-->
|
||
<div style="padding-left:1em;padding-bottom:.5em;font-size:.9em;padding-right:1.75em;">For incoming calls, you can respond instantly by text.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p>Rich and interactive <strong>notifications</strong> let users keep in
|
||
constant touch with incoming messages, play music tracks, see real-time updates
|
||
from apps, and much more. On smaller-screen devices, notifications appear at the
|
||
top of the screen, while on larger-screen devices they appear in the System
|
||
Bar.</p>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:326px">
|
||
<a href="{@docRoot}sdk/images/4.0/allapps-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/allapps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/calendar-widget-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/calendar-widget.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->The All Apps launcher (left) and resizable widgets (right) give you apps and rich content from the home screen.</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Home screen folders and
|
||
favorites tray</strong></p>
|
||
|
||
<p>New home screen <strong>folders</strong> offer a new way for users to group
|
||
their apps and shortcuts logically, just by dragging one onto another. Also,
|
||
in All Apps launcher, users can now simply <strong>drag an app</strong> to get
|
||
information about it or immediately uninstall it, or disable a pre-installed app.</p>
|
||
|
||
<p>On smaller-screen devices, the home screen now includes a customizable
|
||
<strong>favorites tray</strong> visible from all home screens. Users can drag
|
||
apps, shortcuts, folders, and other priority items in or out of the favorites
|
||
tray for instant access from any home screen.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Resizable
|
||
widgets</strong></p>
|
||
|
||
<p>Home screens in Android 4.0 are designed to be content-rich and customizable.
|
||
Users can do much more than add shortcuts — they can embed live
|
||
application content directly through interactive <strong>widgets</strong>.
|
||
Widgets let users check email, flip through a calendar, play music, check social
|
||
streams, and more — right from the home screen, without having to launch
|
||
apps. Widgets are resizable, so users can expand them to show more content or
|
||
shrink them to save space.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>New lock screen
|
||
actions</strong></p>
|
||
|
||
<p>The lock screens now let users do more without unlocking. From the slide lock
|
||
screen, users can <strong>jump directly to the camera</strong> for a picture or
|
||
<strong>pull down the notifications window</strong> to check for messages. When
|
||
listening to music, users can even manage music tracks and see album art. </p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Quick responses for
|
||
incoming calls</strong></p>
|
||
|
||
<p>When an incoming call arrives, users can now quickly <strong>respond by text
|
||
message</strong>, without needing to pick up the call or unlock the device. On
|
||
the incoming call screen, users simply slide a control to see a list of text
|
||
responses and then tap to send and end the call. Users can add their own
|
||
responses and manage the list from the Settings app.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Swipe to dismiss
|
||
notifications, tasks, and browser tabs</strong></p>
|
||
|
||
<p>Android 4.0 makes managing notifications, recent apps, and browser tabs even
|
||
easier. Users can now dismiss individual notifications, apps from the Recent
|
||
Apps list, and browser tabs with a simple swipe of a finger. </p>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margin-right:1em;float:right;margin-left:1em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:200px">
|
||
<a href="{@docRoot}sdk/images/4.0/text-replace-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/text-replace.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->A spell-checker lets you find errors and fix them faster. </div>
|
||
<a href="{@docRoot}sdk/images/4.0/tts-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/tts.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em">A powerful voice input engine lets you dictate continously.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved text input and
|
||
spell-checking</strong></p>
|
||
|
||
<p>The soft keyboard in Android 4.0 makes text input even faster and more
|
||
accurate. Error correction and word suggestion are improved through a new set of
|
||
default dictionaries and more accurate heuristics for handling cases such as
|
||
double-typed characters, skipped letters, and omitted spaces. Word suggestion
|
||
is also improved and the suggestion strip is simplified to show only three
|
||
words at a time.</p>
|
||
|
||
<p>To fix misspelled words more easily, Android 4.0 adds a
|
||
<strong>spell-checker</strong> that locates and underlines errors and suggests
|
||
replacement words. With one tap, users can choose from multiple spelling
|
||
suggestions, delete a word, or add it to the dictionary. Users can even tap to
|
||
see replacement suggestions for words that are spelled correctly. For
|
||
specialized features or additional languages, users can now download and install
|
||
third-party dictionaries, spell-checkers, and other text services.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful voice input
|
||
engine</strong></p>
|
||
|
||
<p>Android 4.0 introduces a powerful new voice input engine that offers a
|
||
continuous "open microphone" experience and streaming voice recognition. The new
|
||
voice input engine lets users dictate the text they want, for as long as they
|
||
want, using the language they want. Users can <strong>speak continously</strong> for a prolonged
|
||
time, even pausing for intervals if needed, and dictate punctuation to create
|
||
correct sentences. As the voice input engine enters text, it underlines possible
|
||
dictation errors in gray. After dictating, users can tap the underlined words to
|
||
quickly replace them from a list of suggestions.</p>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margsin-right:.8em;float:left;width:350px;padding-top:1em;">
|
||
<a href="{@docRoot}sdk/images/4.0/usage-all-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/usage-all.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/usage-maps-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/usage-maps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1.75em;"><!--<strong>Figure 3.</strong>--> Data usage controls let you monitor total usage by network type and application and then set limits if needed.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Control over network
|
||
data</strong></p>
|
||
|
||
<p>Mobile devices can make extensive use of network data for streaming content,
|
||
synchronizing data, downloading apps, and more. To meet the needs of users with
|
||
<strong>tiered or metered data plans</strong>, Android 4.0 adds new controls for
|
||
managing network data usage.</p>
|
||
|
||
<p>In the Settings app, colorful charts show the total data usage on each
|
||
network type (mobile or Wi-Fi), as well as amount of data used by each running
|
||
application. Based on their data plans, users can optionally set warning levels
|
||
or hard limits on data usage or disable mobile data altogether. Users can also
|
||
manage the background data used by individual applications as needed.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Designed for
|
||
accessibility</strong></p>
|
||
|
||
<p>A variety of new features greatly enhance the accessibility of Android 4.0
|
||
for blind or visually impaired users. Most important is a new
|
||
<strong>explore-by-touch mode</strong> that lets users navigate without having
|
||
to see the screen. Touching the screen once triggers audible feedback that
|
||
identifies the UI component below; a second touch in the same component
|
||
activates it with a full touch event. The new mode is especially important to
|
||
support users on new devices that use virtual buttons in the System Bar, rather
|
||
than dedicated hardware buttons or trackballs. Also, standard apps are updated
|
||
to offer an improved accessibility experience. The <strong>Browser</strong>
|
||
supports a script-based screen reader for reading favorite web content and
|
||
navigating sites. For improved readability, users can also increase the default
|
||
font size used across the system.</p>
|
||
|
||
<p>The accessibility experience begins at first setup — a simple
|
||
<strong>touch gesture</strong> during setup (clockwise square from upper left)
|
||
activates all accessibility features and loads a setup tutorial. Once
|
||
accessibility features are active, everything visible on the screen can be
|
||
spoken aloud by the standard screen reader.</p>
|
||
|
||
|
||
<h3 id="comms" style="color:#172861">Communication and sharing</h3>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margin-right:1em;float:right;margin-left:.5em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:490px">
|
||
<!--<img src="{@docRoot}sdk/images/4.0/contact-call.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" />-->
|
||
<a href="{@docRoot}sdk/images/4.0/contact-faves-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/contact-faves.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/contact-connect-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/contact-connect.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/contact-email-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/contact-email.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
|
||
|
||
<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->Contacts and profiles are integrated across apps and social networks, for a consistent, personal experience everywhere — from incoming calls to emails.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p>Designed for the way people live, Android 4.0 integrates rich social
|
||
communication and sharing touchpoints across the system, making it easy to talk,
|
||
email, text, and share.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>People and
|
||
profiles</strong></p>
|
||
|
||
<p>Throughout the system, a user’s social groups, profiles, and contacts are
|
||
linked together and integrated for easy accessibility. At the center is a new
|
||
<strong>People app</strong> that offers richer profile information, including a
|
||
large profile picture, phone numbers, addresses and accounts, status updates,
|
||
events, stream items, and a new button for connecting on integrated social networks. </p>
|
||
|
||
<p>The user's own contact information is stored in a new <strong>"Me"
|
||
profile</strong>, allowing easier sharing with apps and people. All of the
|
||
user's integrated contacts are displayed in an easy to manage list, including
|
||
controls over which contacts are shown from any integrated account or social
|
||
network. Wherever the user navigates across the system, tapping a profile photo
|
||
displays Quick Contacts, with large profile pictures, shortcuts to phone numbers,
|
||
text messaging, and more. </p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Unified calendar, visual
|
||
voicemail</strong></p>
|
||
|
||
<p>To help organize appointments and events, an updated <strong>Calendar
|
||
app</strong> brings together personal, work, school, and social agendas. With
|
||
user permission, other applications can contribute events to the calendar and
|
||
manage reminders, for an integrated view across multiple calendar providers. The
|
||
app is redesigned to let users manage events more easily. Calendars are
|
||
color-coded and users can <strong>swipe left or right</strong> to change dates
|
||
and pinch to zoom in or out agendas. </p>
|
||
|
||
<p>In the phone app, a new <strong>visual voicemail</strong> features integrates
|
||
incoming messages, voice transcriptions, and audio files from one or more
|
||
providers. Third-party applications can integrate with the Phone app to add
|
||
their own voice messages, transcriptions, and more to the visual voicemail
|
||
inbox. </p>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margsin-right:0em;float:left;width:282px;padding-top:1em;">
|
||
<a href="{@docRoot}sdk/images/4.0/camera-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/camera.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/gallery-edit-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/gallery-edit.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/gallery-share-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/gallery-share.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:2.75em;">Capture the picture you want, edit, and share instantly. </div>
|
||
</div>
|
||
</div>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Rich and versatile camera
|
||
capabilities</strong></p>
|
||
|
||
<p>The Camera app includes many new features that let users capture special moments
|
||
with great photos and videos. After capturing images, they can edit and share
|
||
them easily with friends. </p>
|
||
|
||
<p>When taking pictures, <strong>continuous focus</strong>, <strong>zero shutter
|
||
lag exposure</strong>, and decreased shot-to-shot speed help capture clear,
|
||
precise images. <strong>Stabilized image zoom</strong> lets users compose photos
|
||
and video in the way they want, including while video is recording. For new
|
||
flexibility and convenience while shooting video, users can now take
|
||
<strong>snapshots at full video resolution</strong> just by tapping the screen
|
||
as video continues to record.</p>
|
||
|
||
<p>To make it easier to take great pictures of people, built-in <strong>face
|
||
detection</strong> locates faces in the frame and automatically sets focus. For
|
||
more control, users can <strong>tap to focus</strong> anywhere in the preview
|
||
image. </p>
|
||
|
||
<p>For capturing larger scenes, the Camera introduces a <strong>single-motion
|
||
panorama</strong> mode. In this mode, the user starts an exposure and then
|
||
slowly turns the Camera to encompass as wide a perspective as needed. The Camera
|
||
assembles the full range of continuous imagery into a single panoramic
|
||
photo.</p>
|
||
|
||
<p>After taking a picture or video, users can quickly share it by email, text
|
||
message, bluetooth, social networks, and more, just by tapping the thumbnail in
|
||
the camera controls. </p>
|
||
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:160px">
|
||
<img src="{@docRoot}sdk/images/4.0/gallery-widget.png" alt="" width="144" style="border:1px solid #ddd;border-radius: 6px;" />
|
||
<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em">A Photo Gallery widget on the home screen.</div>
|
||
</div>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Redesigned Gallery app
|
||
with photo editor</strong></p>
|
||
|
||
<p>The Gallery app now makes it easier to manage, show, and share photos and
|
||
videos. For managing collections, a <strong>redesigned album layout</strong>
|
||
shows many more albums and offers larger thumbnails. There are many ways to sort
|
||
albums, including by time, location, people, and tags. To help pictures look
|
||
their best, the Gallery now includes a powerful <strong>photo editor</strong>.
|
||
Users can crop and rotate pictures, set levels, remove red eyes, add effects,
|
||
and much more. After retouching, users can select one or multiple pictures or
|
||
videos to share instantly over email, text messaging, bluetooth, social
|
||
networks, or other apps.</p>
|
||
|
||
<p>An improved <strong>Picture Gallery widget</strong> lets users look at
|
||
pictures directly on their home screen. The widget can display pictures from a
|
||
selected album, shuffle pictures from all albums, or show a single image. After
|
||
adding the widget to the home screen, users can flick through the photo stacks
|
||
to locate the image they want, then tap to load it in Gallery. </p>
|
||
|
||
<div style="padding-top:0em;clear:right;">
|
||
<div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:320px">
|
||
<img src="{@docRoot}sdk/images/4.0/live-effects.png" alt="" width="297" style="border:1px solid #ddd;border-radius: 6px;" />
|
||
<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Live Effects let you change backgrounds and use Silly Faces during video.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Live Effects for transforming video</strong></p>
|
||
|
||
<p>Live Effects is a collection of graphical transformations that add interest
|
||
and fun to videos captured in the Camera app. For example, users can
|
||
<strong>change the background</strong> behind them to any stock or custom image,
|
||
for just the right setting when shooting videeo. Also available for video is
|
||
Silly Faces, a set of morphing effects that use state-of-the-art face
|
||
recognition and GPU filters to transform facial features. For example, you can
|
||
use effects such as small eyes, big mouth, big nose, face squeeze, and more.
|
||
Outside of the Camera app, Live Effects is available during video chat in the
|
||
Google Talk app.</p>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;">
|
||
<a href="{@docRoot}sdk/images/4.0/screenshot-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/screenshot.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"> Snapping a screenshot.</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Sharing with screenshots</strong></p>
|
||
|
||
<p>Users can now share what's on their screens more easily by taking
|
||
screenshots. Hardware buttons let them snap a <strong>screenshot</strong> and
|
||
store it locally. Afterward, they can view, edit, and share the screen shot in
|
||
Gallery or a similar app.</p>
|
||
|
||
|
||
<h3 id="cloud" style="color:#172861">Cloud-connected experience</h3>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:0;padding-bottom:0;width:326px">
|
||
<a href="{@docRoot}sdk/images/4.0/browser-tabs-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/browser-tabs.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<a href="{@docRoot}sdk/images/4.0/browser-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/browser.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->The Browser tabs menu <em>(left)</em> lets you quickly switch browser tabs. The options menu <em>(right)</em> gives you new ways to manage your browsing experience.</div>
|
||
<img src="{@docRoot}sdk/images/4.0/bbench.png" alt="" width="310" />
|
||
<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Benchmark comparisons of Android Browser.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p>Android has always been cloud-connected, letting users browse the web and
|
||
sync photos, apps, games, email, and contacts — wherever they are and
|
||
across all of their devices. Android 4.0 adds new browsing and email
|
||
capabilities to let users take even more with them and keep communication
|
||
organized.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful web
|
||
browsing</strong></p>
|
||
|
||
<p>The Android Browser offers an experience that’s as rich and convenient as a
|
||
desktop browser. It lets users instantly sync and manage <strong>Google Chrome
|
||
bookmarks</strong> from all of their accounts, jump to their favorite content
|
||
faster, and even save it for reading later in case there's no network
|
||
available.</p>
|
||
|
||
<p>To get the most out of web content, users can now request full
|
||
<strong>desktop versions</strong> of web sites, rather than their mobile
|
||
versions. Users can set their preference for web sites separately for each
|
||
<strong>browser tab</strong>. For longer content, users can save a copy for
|
||
<strong>offline reading</strong>. To find and open saved pages, users can browse
|
||
a visual list that’s included with browser bookmarks and history. For better
|
||
readability and accessibility, users can increase the browser’s <strong>zoom
|
||
levels</strong> and override the system default <strong>text sizes</strong>.</p>
|
||
|
||
<p>Across all types of content, the Android Browser offers dramatically improved
|
||
<strong>page rendering performance</strong> through updated versions of the
|
||
WebKit core and the V8 Crankshaft compilation engine for JavaScript. In
|
||
benchmarks run on a Nexus S device, the Android 4.0 browser showed an
|
||
improvement of nearly 220% over the Android 2.3 browser in the V8 Benchmark
|
||
Suite and more than 35% in the SunSpider 9.1 JavaScript Benchmark. When run on a
|
||
Galaxy Nexus device, the Android 4.0 browser showed improvement of nearly 550%
|
||
in the V8 benchmark and nearly 70% in the SunSpider benchmark.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved
|
||
email</strong></p>
|
||
|
||
<p>In Android 4.0, email is easier to send, read, and manage. For composing
|
||
email, <strong>improved auto-completion</strong> of recipients helps with
|
||
finding and adding frequent contacts more quickly. For easier input of frequent
|
||
text, users can now create <strong>quick responses</strong> and store them in
|
||
the app, then enter them from a convenient menu when composing. When replying to
|
||
a message, users can now toggle the message to Reply All and Forward without
|
||
changing screens.</p>
|
||
|
||
<p>For easier browsing across accounts and labels, the app adds an
|
||
<strong>integrated menu</strong> of accounts and recent labels. To help users
|
||
locate and organize IMAP and Exchange email, the Email app now supports
|
||
<strong>nested mail subfolders</strong>, each with synchronization rules. Users
|
||
can also search across folders on the server, for faster results. </p>
|
||
|
||
<p>For <strong>enterprises</strong>, the Email app supports EAS v14. It supports
|
||
EAS certificate authentication, provides ABQ strings for device type and mode,
|
||
and allows automatic sync to be disabled while roaming. Administrators can also
|
||
limit attachment size or disable attachments.</p>
|
||
|
||
<p>For keeping track of incoming email more easily, a <strong>resizable Email
|
||
widget</strong> lets users flick through recent email right from the home
|
||
screen, then jump into the Email app to compose or reply.</p>
|
||
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;">
|
||
<a href="{@docRoot}sdk/images/4.0/beam-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/beam.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em;padding-right:1.5em;">Android Beam lets users share what they are using with a single tap.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 id="innovation" style="color:#172861">Innovation</h3>
|
||
|
||
<p>Android is continously driving innovation forward, pushing the boundaries of
|
||
communication and sharing with new capabilities and interactions.</p>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam for
|
||
NFC-based sharing</strong></p>
|
||
|
||
<p>Android Beam is an innovative, convenient feature for sharing across two
|
||
NFC-enabled devices, It lets people instantly exchange favorite apps, contacts,
|
||
music, videos — almost anything. It’s incredibly simple and convenient to
|
||
use — there’s no menu to open, application to launch, or pairing needed.
|
||
Just touch one Android-powered phone to another, then tap to send.</p>
|
||
|
||
<p>For sharing apps, Android Beam pushes a link to the app's details page in
|
||
Google Play. On the other device, the Google Play client app launches and loads the
|
||
details page, for easy downloading of the app. Individual apps can build on
|
||
Android Beam to add other types of interactions, such as passing game scores,
|
||
initiating a multiplayer game or chat, and more.</p>
|
||
|
||
<div style="padding-top:0em;">
|
||
<div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:160px">
|
||
<a href="{@docRoot}sdk/images/4.0/face-unlock-lg.png" target="_android">
|
||
<img src="{@docRoot}sdk/images/4.0/face-unlock.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
|
||
<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Face recognition lets you unlock your phone with your face.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Face Unlock</strong></p>
|
||
|
||
<p>Android 4.0 introduces a completely new approach to securing a device, making
|
||
each person's device even more personal — Face Unlock is a new screen-lock
|
||
option that lets users unlock their devices with their faces. It takes advantage
|
||
of the device front-facing camera and state-of-the-art facial recognition
|
||
technology to register a face during setup and then to recognize it again when
|
||
unlocking the device. Users just hold their devices in front of their faces to
|
||
unlock, or use a backup PIN or pattern. </p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct and Bluetooth HDP</strong></p>
|
||
|
||
<p>Support for <strong>Wi-Fi Direct</strong> lets users connect directly to
|
||
nearby peer devices over Wi-Fi, for more reliable, higher-speed communication.
|
||
No internet connection or tethering is needed. Through third-party apps, users
|
||
can connect to compatible devices to take advantage of new features such as
|
||
instant sharing of files, photos, or other media; streaming video or audio from
|
||
another device; or connecting to compatible printers or other devices.</p>
|
||
|
||
<p>Android 4.0 also introduces built-in support for connecting to <strong>Bluetooth Health Device Profile (HDP)</strong> devices. With support from third-party apps, users can connect to wireless medical devices and sensors in hospitals, fitness centers, homes, and elsewhere.</p>
|
||
|
||
|
||
<h2 id="DeveloperApis" style="clear:right">New Developer Features</h2>
|
||
|
||
<!-- <ul>
|
||
<li><a href="#ui-dev">Unified UI framework for phones, tablets, and more</a></li>
|
||
<li><a href="#communication-dev">Communication and sharing</a></li>
|
||
<li><a href="#media-dev">New media capabilities</a></li>
|
||
<li><a href="#connectivity-dev">New types of connectivity</a></li>
|
||
<li><a href="#uicomp-dev">New UI components and capabilities</a></li>
|
||
<li><a href="input-dev">New input types and text services</a></li>
|
||
<li><a href="#accessibility-dev">Enhanced accessibility APIs</a></li>
|
||
<li><a href="#data-dev">Efficient network usage</a></li>
|
||
<li><a href="#security-dev">Security for apps and content</a></li>
|
||
<li><a href="#enterprise-dev">Enhancements for Enterprise</a></li>
|
||
</ul>-->
|
||
|
||
<h3 id="ui-dev">Unified UI framework for phones, tablets, and more</h3>
|
||
|
||
<p>Android 4.0 brings a unified UI framework that lets developers create
|
||
elegant, innovative apps for phones, tablets, and more. It includes all of the
|
||
familiar Android 3.x interface elements and APIs — fragments, content
|
||
loaders, Action Bar, rich notifications, resizable home screen widgets, and more
|
||
— as well as new elements and APIs.</p>
|
||
|
||
<p>For developers, the unified UI framework in Android 4.0 means new UI tools,
|
||
consistent design practices, simplified code and resources, and streamlined
|
||
development across the range of Android-powered devices.</p>
|
||
|
||
<div class="sidebox-wrapper">
|
||
<div class="sidebox" style="border-left:1px solid #22a5ca;background-color:#fff;">
|
||
<h3>Key Android 3.x developer features, <br>now for phones too</h3>
|
||
|
||
<p>Core UI</p>
|
||
<ul>
|
||
<li>Fragments and content loaders</li>
|
||
<li>Resizeable home screen widgets</li>
|
||
<li>Rich notifications</li>
|
||
<li>Multi-selection, drag-drop, clipboard</li>
|
||
<li>Improved screen-support API</li>
|
||
<li>Hardware-accelerated 2D graphics</li>
|
||
</ul>
|
||
|
||
<p>Graphics and animation</p>
|
||
<ul>
|
||
<li>Property-based animation</li>
|
||
<li>Renderscript 3D graphics</li>
|
||
</ul>
|
||
|
||
<p>Media and connectivity</p>
|
||
<ul>
|
||
<li>HTTP Live streaming</li>
|
||
<li>Bluetooth A2DP and HSP devices</li>
|
||
<li>Support for RTP</li>
|
||
<li>MTP/PTP file transfer</li>
|
||
<li>DRM framework</li>
|
||
<li>Input from keyboard, mouse, gamepad, joystick</li>
|
||
</ul>
|
||
|
||
<p>Enterprise</p>
|
||
<ul>
|
||
<li>Full device encryption</li>
|
||
<li>DPM policies for encrypted storage and passwords</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 id="communication-dev">Communication and sharing</h3>
|
||
|
||
<p>Android 4.0 extends social and sharing features to any application on the
|
||
device. Applications can integrate contacts, profile data, stream items,
|
||
and calendar events from any of the user’s activities or social networks.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Social API</strong></p>
|
||
|
||
<p>A shared social provider and API provide a new unified store for contacts,
|
||
profile data, stream items, and photos. Any app or social network with user
|
||
permission can contribute raw contacts and make them accessible to other apps
|
||
and networks. Applications with user permission can also read profile data from
|
||
the provider and display it in their applications.</p>
|
||
|
||
<p>The social API lets applications store standard contact data as well as new
|
||
types of content for any given contact, including large profile photos, stream
|
||
items, and recent activity feedback. Recent activity feedback is 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. The social provider uses the
|
||
recent activity feedback as a new signal in ranking, such as for name
|
||
auto-complete, to keep the most relevant contacts ranked closest to the top.</p>
|
||
|
||
<p>Applications can also let users set up a social connection to a contact from
|
||
the People app. When the user touches Add Connection in a contact, the app
|
||
sends a public intent that other apps can handle, displaying any UI needed
|
||
to create the social connection.</p>
|
||
|
||
<p>Building on the social API, developers can add powerful new interactions that
|
||
span multiple social networks and contacts sources.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Calendar API</strong></p>
|
||
|
||
<p>A shared calendar content provider and framework API make it easier for
|
||
developers to add calendar services to their apps.</p>
|
||
|
||
<p>With user permission, any application 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. Using the calendar
|
||
provider, applications can take advantage of event data sourced from a variety
|
||
of apps and protocols, to offer innovative ways of viewing and managing a user’s
|
||
events. Apps can also use calendar data to improve the relevance of their
|
||
other content.</p>
|
||
|
||
<p>For lighter-weight access to calendar services, the Calendar app defines a
|
||
set of public Intents for creating, viewing, and editing events. Rather than
|
||
needing to implement a calendar UI and integrate directly with the calendar
|
||
provider, applications can simply broadcast calendar Intents. When the Calendar
|
||
app receives the Intents, it launches the appropriate UI and stores any event
|
||
data entered. Using calendar Intents, for example, apps can let users add events
|
||
directly from lists, dialogs, or home screen widgets, such as for making
|
||
restaurant reservations or booking time with friends.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Visual voicemail
|
||
API</strong></p>
|
||
|
||
<p>A shared Voicemail provider and API allow developers to build applications
|
||
that contribute to a unified voicemail store. Voicemails are displayed and
|
||
played in the call log tab of the platform’s Phone app.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam</strong></p>
|
||
|
||
<p>Android Beam is an NFC-based feature that lets users instantly share
|
||
information about the apps they are using, just by touching two NFC-enabled
|
||
phones together. When the devices are in range — within a few centimeters
|
||
— the system sets up an NFC connection and displays a sharing UI. To share
|
||
whatever they are viewing with the other device, users just touch the screen.
|
||
</p>
|
||
|
||
<p>For developers, Android Beam is a new way of triggering almost any type of
|
||
proximity-based interaction. For example, it can let users instantly exchange
|
||
contacts, set up multiplayer gaming, join a chat or video call, share a photo or
|
||
video, and more. The system provides the low-level NFC support and the sharing
|
||
UI, while the foreground app provides lightweight data to transfer to the other
|
||
device. 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.</p>
|
||
|
||
<p>Even if developers do not add custom interactions based on Android Beam they
|
||
can still benefit from it being deeply integrated into Android. By default the
|
||
system shares the app’s Google Play URL, so it’s easy for the user to
|
||
download or purchase the app right away.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Modular sharing
|
||
widget</strong></p>
|
||
|
||
<p>The UI framework includes a new widget, ShareActionProvider, that lets
|
||
developers quickly embed standard share functionality and UI in the Action Bar
|
||
of their applications. Developers simply add ShareActionProvider to the menu and
|
||
set an intent that describes the desired sharing action. The system handles the
|
||
rest, building up the list of applications that can handle the share intent and
|
||
dispatching the intent when the user chooses from the menu.</p>
|
||
|
||
|
||
<h3 id="media-dev">New media capabilities</h3>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Low-level streaming
|
||
multimedia</strong></p>
|
||
|
||
<p>Android 4.0 provides a direct, efficient path for low-level streaming
|
||
multimedia. The new path is ideal for applications that need to maintain
|
||
complete control over media data before passing it to the platform for
|
||
presentation. For example, media applications can now retrieve data from any
|
||
source, apply proprietary encryption/decryption, and then send the data to the
|
||
platform for display.</p>
|
||
|
||
<p>Applications can now send processed data to the platform as a multiplexed
|
||
stream of audio/video content in MPEG-2 transport stream format. The platform
|
||
de-muxes, decodes, and renders the content. The audio track is rendered to the
|
||
active audio device, while the video track is rendered to either a Surface or a
|
||
SurfaceTexture. When rendering to a SurfaceTexture, the application can apply
|
||
subsequent graphics effects to each frame using OpenGL.</p>
|
||
|
||
<p>To support this low-level streaming, the platform introduces a new native API
|
||
based on <a href="http://www.khronos.org/openmax/al/" target="_top">Khronos
|
||
OpenMAX AL 1.0.1</a>. The API is implemented on the same underlying services as
|
||
the platform’s existing OpenSL ES API, so developers can make use of both APIs
|
||
together if needed. Tools support for low-level streaming multimedia will be
|
||
available in an upcoming release of the Android NDK.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>New camera
|
||
capabilities</strong></p>
|
||
|
||
<p>Developers can take advantage of a variety of new camera features in Android
|
||
4.0. ZSL exposure, continuous focus, and image zoom let apps capture better
|
||
still and video images, including during video capture. Apps can even capture
|
||
full-resolution snapshots while shooting video. Apps can now set custom metering
|
||
regions in a camera preview, then manage white balance and exposure dynamically
|
||
for those regions. For easier focusing and image processing, a face-detection
|
||
service identifies and tracks faces in a preview and returns their screen
|
||
coordinates.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Media effects for
|
||
transforming images and video</strong></p>
|
||
|
||
<p>A set of high-performance transformation filters let developers apply rich
|
||
effects to any image passed as an OpenGL ES 2.0 texture. Developers can adjust
|
||
color levels and brightness, change backgrounds, sharpen, crop, rotate, add lens
|
||
distortion, and apply other effects. The transformations are processed by the
|
||
GPU, so they are fast enough for processing image frames loaded from disk,
|
||
camera, or video stream.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Audio remote
|
||
controls</strong></p>
|
||
|
||
<p>Android 4.0 adds a new audio remote control API that lets media applications
|
||
integrate with playback controls that are displayed in a remote view. Media
|
||
applications can integrate with a remote music playback control that’s built
|
||
into in the platform’s lock screen, allowing users to control song selection and
|
||
playback without having to unlock and navigate to the music app.</p>
|
||
|
||
<p>Using the 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,
|
||
genre, and more.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>New media codecs and
|
||
containers</strong></p>
|
||
|
||
<p>Android 4.0 adds support for additional media types and containers to give
|
||
developers access to the formats they need. For high-quality compressed images,
|
||
the media framework adds support for WebP content. For video, the framework now
|
||
supports streaming VP8 content. For streaming multimedia, the framework 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.</p>
|
||
|
||
|
||
<h3 id="connectivity-dev">New types of connectivity</h3>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct</strong></p>
|
||
|
||
<p>Developers can use a framework API to discover and connect directly to nearby
|
||
devices over a high-performance, secure Wi-Fi Direct connection. No internet
|
||
connection or hotspot is needed.</p>
|
||
|
||
<p>Wi-Fi Direct opens new opportunities for developers to add innovative
|
||
features to their applications. Applications can use Wi-Fi Direct to share
|
||
files, photos, or other media between devices or between a desktop computer and
|
||
an Android-powered device. Applications could also use Wi-Fi Direct to stream
|
||
media content from a peer device such as a digital television or audio player,
|
||
connect a group of users for gaming, print files, and more.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Bluetooth Health Device
|
||
Profile (HDP)</strong></p>
|
||
|
||
<p>Developers can now build powerful medical applications that use Bluetooth to
|
||
communicate with wireless devices and sensors in hospitals, fitness centers,
|
||
homes, and elsewhere. Applications can collect and manage data from HDP source
|
||
devices and transmit it to backend medical applications such as records systems,
|
||
data analysis services, and others.</p>
|
||
|
||
<p>Using a framework API, applications can use Bluetooth to discover nearby
|
||
devices, establish reliable or streaming data channels, and manage data
|
||
transmission. Applications can supply any IEEE 11073 Manager to retrieve and
|
||
interpret health data from Continua-certified devices such as heart-rate
|
||
monitors, blood meters, thermometers, and scales. </p>
|
||
|
||
|
||
<h3 id="uicomp-dev">New UI components and capabilities</h3>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Layout
|
||
enhancements</strong></p>
|
||
|
||
<p>A new layout, GridLayout, improves the performance of Android applications by
|
||
supporting flatter view hierarchies that are faster to layout and render.
|
||
Because hierarchies are flatter, developers can also 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.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>OpenGL ES texture
|
||
views</strong></p>
|
||
|
||
<p>A new TextureView object lets developers directly integrate OpenGL ES
|
||
textures as rendering targets in a UI hierarchy. The object lets developers
|
||
display and manipulate OpenGL ES rendering just as they would a normal view
|
||
object in the hierarchy, including moving, transforming, and animating the view
|
||
as needed. The TextureView object makes it easy for developers to embed camera
|
||
preview, decoded video, OpenGL game scenes, and more. 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.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Hardware-accelerated 2D
|
||
drawing</strong></p>
|
||
|
||
<p>All Android-powered devices running Android 4.0 are required to support
|
||
hardware-accelerated 2D drawing. Developers can take advantage of this to add
|
||
great UI effects while maintaining optimal performance on high-resolution
|
||
screens, even on phones. For example, developers can rely on accelerated
|
||
scaling, rotation, and other 2D operations, as well as accelerated UI components
|
||
such as TextureView and compositing modes such as filtering, blending, and
|
||
opacity.</p>
|
||
|
||
|
||
<h3 id="input-dev">New input types and text services</h3>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Stylus input, button
|
||
support, hover events</strong></p>
|
||
|
||
<p>Android 4.0 includes full 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, improved mouse input, and others.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Text services API for
|
||
integrating spelling checkers</strong></p>
|
||
|
||
<p>Android 4.0 lets applications query available text services such as
|
||
dictionaries and spell checkers for word suggestions, corrections, and similar
|
||
data. The text services are external to the active IME, so developers can create
|
||
and distribute dictionaries and suggestion engines that plug into the platform.
|
||
When an application receives results from a text service — for example,
|
||
word suggestions — it can display them in a dedicated suggestion popup
|
||
window directly inside the text view, rather than relying on the IME to display
|
||
them. </p>
|
||
|
||
|
||
<h3 id="accessibility-dev">Enhanced accessibility APIs</h3>
|
||
|
||
<p>Android 4.0 adds new accessibility features and an enhanced API to let
|
||
developers improve the user experience in their apps, especially on devices that
|
||
don’t have hardware buttons. For accessibility services such as screen readers
|
||
in particular, the platform offers new APIs to query window content, for easier
|
||
navigation, better feedback, and richer user interfaces.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Accessibility
|
||
API</strong></p>
|
||
|
||
<p>To let applications manage interactions more effectively when accessibility
|
||
features are enabled, 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.</p>
|
||
|
||
<p>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. </p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Text-to-speech
|
||
API</strong></p>
|
||
|
||
<p>A new framework API lets developers write text-to-speech engines and make
|
||
them available to any app requesting TTS capabilities.</p>
|
||
|
||
|
||
<h3 id="data-dev">Efficient network usage</h3>
|
||
|
||
<p>In Android 4.0, users can see how much network data their running apps are
|
||
using. They can also set limits on data usage by network type and disable
|
||
background data usage for specific applications. In this context, developers
|
||
need to design their apps to run efficiently and follow best practices for
|
||
checking the network connection. Android 4.0 provides network APIs to let
|
||
applications meet those goals.</p>
|
||
|
||
<p>As users move between networks or set limits on network data, the platform
|
||
lets applications query for connection type and availability. Developers can use
|
||
this information to dynamically manage network requests to ensure the best
|
||
experience for users. Developers can also build custom network and data-usage
|
||
options into their apps, then expose them to users directly from Settings by
|
||
means of a new system Intent.</p>
|
||
|
||
|
||
<h3 id="security-dev">Security for apps and content</h3>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Secure management of
|
||
credentials</strong></p>
|
||
|
||
<p>Android 4.0 makes it easier for applications to manage authentication and
|
||
secure sessions. A new keychain API and underlying encrypted storage let
|
||
applications store and retrieve private keys and their corresponding certificate
|
||
chains. Any application can use the keychain API to install and store user
|
||
certificates and CAs securely.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Address Space Layout
|
||
Randomization</strong></p>
|
||
|
||
<p>Android 4.0 now provides address space layout randomization (ASLR) to help
|
||
protect system and third party applications from exploitation due to
|
||
memory-management issues.</p>
|
||
|
||
|
||
<h3 id="enterprise-dev">Enhancements for Enterprise</h3>
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>VPN client
|
||
API</strong></p>
|
||
|
||
<p>Developers can now build or extend their own VPN solutions on the platform
|
||
using a new VPN API and underlying secure credential storage. With user
|
||
permission, applications can configure addresses and routing rules, process
|
||
outgoing and incoming packets, and establish secure tunnels to a remote server.
|
||
Enterprises can also take advantage of a standard VPN client built into the
|
||
platform that provides access to L2TP and IPSec protocols.</p>
|
||
|
||
|
||
<p style="margin-top:1em;margin-bottom:.75em;"><strong>Device policy management
|
||
for camera</strong></p>
|
||
|
||
<p>The platform adds a new policy control for administrators who manage devices
|
||
using an installed Device Policy Manager. Administrators can now remotely
|
||
disable the camera on a managed device for users working in sensitive
|
||
environments.</p>
|
||
|
||
|
||
|
||
|
||
|