• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Android 3.1 Platform Highlights
2
3@jd:body
4
5
6<style type="text/css">
7#jd-content {
8  max-width:1200px;
9}
10#jd-content div.screenshot {
11  float:left;
12  clear:left;
13  padding:15px 30px 15px 0;
14}
15#jd-content div.video {
16  float:right;
17  padding:0 60px 40px;
18  margin-top:-15px;
19}
20#jd-content table.columns {
21  margin:0 0 1em 0;
22}
23#jd-content table.columns td {
24  padding:0;
25}
26#jd-content table.columns td+td {
27  padding:0 2em;
28}
29#jd-content table.columns td img {
30  margin:0;
31}
32#jd-content table.columns td+td>*:first-child {
33  margin-top:-2em;
34}
35.green {
36  color:#8db529;
37  font-weight:bold;
38}
39</style>
40
41<p>Welcome to Android 3.1!</p>
42
43<p>Android 3.1 is an incremental platform release that refines many of the
44features introduced in Android 3.0. It builds on the same tablet-optimized UI
45and features offered in Android 3.0 and adds several new capabilities for
46users and developers. This document provides an overview of the new features and
47technologies introduced in Android 3.1. For a more detailed look at new
48developer APIs, see the <a href="{@docRoot}sdk/android-3.1.html">API
49Overview</a> document.</p>
50
51<p>For a high-level introduction to Android 3.0, please see the <a
52href="{@docRoot}sdk/android-3.0-highlights.html">Android 3.0 Platform
53Highlights</a>.</p>
54
55<ul>
56  <li><a href="#UserFeatures">New User Features</a></li>
57  <li><a href="#DeveloperApis">New Developer Features</a></li>
58</ul>
59
60<h2 id="UserFeatures" style="clear:right">New User Features</h2>
61
62<div  style="padding-top:0em;">
63<div style="margin-right:1em;margin-left:1em;float:right;padding-top:2em;"><a href="images/3.1/home_full.png" target="_android"><img src="images/3.1/home.png" alt="" height="280" /></a>
64<div style="padding-left:1.25em;padding-bottom:1.25em;width:450px;font-size:.9em"><strong>Figure 1.</strong> An Android 3.1 Home screen.</div>
65</div>
66
67<h3>UI refinements</h3>
68
69<p>The Android 3.1 platform adds a variety of refinements to make the user
70interface more intuitive and more efficient to use.</p>
71
72<p>UI transitions are improved throughout the system and across the standard
73apps. The Launcher animation is optimized for faster, smoother transition to and
74from the Apps list. Adjustments in color, positioning, and text make UI elements
75easier to see, understand, and use. Accessibility is improved with consistent
76audible feedback throughout the UI and a new setting to let users customize the
77touch-hold interval to meet their needs.</p>
78
79<p>Navigation to and from the five home screens is now easier &mdash; touching
80the Home button in the system bar now takes you to the home screen most recently
81used. Settings offers an improved view of internal storage,
82showing the storage used by a larger set of file types. </p>
83
84<h3 id="accessories">Connectivity for USB accessories</h3>
85
86<p>Android 3.1 adds broad platform support for a variety of USB-connected
87peripherals and accessories. Users can attach many types of input devices
88(keyboards, mice, game controllers) and digital cameras. Applications can build
89on the platform’s USB support to extend connectivity to almost any type of USB
90device.</p>
91
92<p>The platform also adds new support for USB accessories &mdash; external
93hardware devices designed to attach to Android-powered devices as USB hosts. When an
94accessory is attached, the framework will look for a corresponding application
95and offer to launch it for the user.  The accessory can also present a URL
96to the user, for downloading an appropriate application if one is not already
97installed.  Users can interact with the application to control powered accessories such
98as robotics controllers; docking stations; diagnostic and musical equipment;
99kiosks; card readers; and much more.</p>
100
101<p>The platform’s USB capabilities rely on components in device hardware, so
102support for USB on specific devices may vary and is determined by device
103manufacturers.</p>
104
105<div  style="padding-top:0em;">
106<div style="margin-right:.8em;float:left;width:200px;"><img src="{@docRoot}sdk/images/3.1/tasks.png" alt="" />
107<div style="padding-left:1em;padding-bottom:1em;xwidth:auto;font-size:.9em"><strong>Figure 2.</strong> The Recent Apps menu is now expandable and scrollable.</div>
108</div>
109
110<h3 id="recentapps">Expanded Recent Apps list</h3>
111
112<p>For improved multitasking and instant visual access to a much larger number
113of apps, the Recent Apps list is now expandable. Users can now scroll the list
114of recent apps vertically to see thumbnail images all of the tasks in progress
115and recently used apps, then touch a thumbnail to jump back into that task.</p>
116
117<h3 id="resizewidgets">Resizeable Home screen widgets</h3>
118
119<p>For more flexible Home screen customization, users can now resize their Home
120screen widgets using drag bars provided by the system. Users can expand widgets
121both horizontally and/or vertically to include more content, where supported by
122each widget.</p>
123
124
125<h3 id="keyboards">Support for external keyboards
126and pointing devices</h3>
127
128<p>Users can now attach almost any type of external keyboard or mouse to their
129Android-powered devices, to create a familiar environment and work more
130efficiently. One or more input devices can be attached to the system simultaneously
131over USB and/or Bluetooth HID, in any combination. No special configuration or
132driver is needed, in most cases. When multiple devices are connected, users can
133conveniently manage the active keyboard and IME using the keyboard settings that
134are available from the System bar.</p>
135
136<p>For pointing devices, the platform supports most types of mouse with a single
137button and optionally a scroll wheel, as well as similar devices such as
138trackballs. When these are connected, users can interact with the UI using
139point, select, drag, scroll, hover, and other standard actions.</p>
140
141<h3 id="joysticks">Support for joysticks and gamepads</h3>
142
143<p>To make the platform even better for gaming, Android 3.1 adds support for
144most PC joysticks and gamepads that are connected over USB or Bluetooth HID.</p>
145
146<p>For example, users can connect PlayStation<sup>&reg;</sup>3 and Xbox 360<sup>&reg;</sup>
147game controllers over USB (but not Bluetooth), Logitech Dual Action&trade; gamepads and
148flight sticks, or a car racing controller. Game controllers that use proprietary
149networking or pairing are not supported by default, but in general, the platform
150supports most PC-connectible joysticks and gamepads.</p>
151
152<h3 id="wifi">Robust Wi-Fi networking</h3>
153
154<p>Android 3.1 adds robust Wi-Fi features, to make sure that users and their
155apps can take full advantage of higher-speed Wi-Fi access at home, at work, and
156while away.</p>
157
158<p>A new high-performance Wi-Fi lock lets applications maintain
159high-performance Wi-Fi connections even when the device screen is off. Users can
160take advantage of this to play continuous streamed music, video, and voice
161services for long periods, even when the device is otherwise idle and the screen
162is off. </p>
163
164<p>Users can now configure an HTTP proxy for each individual Wi-Fi access
165point, by touch-hold of the access point in Settings. The browser uses the HTTP
166proxy when communicating with the network over the access point and other apps
167may also choose to do so. The platform also provides backup and restore of the
168user-defined IP and proxy settings.</p>
169<p>The platform adds support for Preferred Network Offload (PNO), a background
170scanning capability that conserves battery power savings in cases where Wi-Fi
171needs to be available continuously for long periods of time.</p>
172
173<h3 id="apps">Updated set of standard apps</h3>
174
175<p>The Android 3.1 platform includes an updated set of standard applications
176that are optimized for use on larger screen devices. The sections below
177highlight some of the new features.</p>
178
179<div  style="padding-top:0em;">
180<div style="margin-right:1em;float:right;margin-left:1em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;"><img src="{@docRoot}sdk/images/3.1/controls.png" alt="" height="280px" />
181<div style="padding-left:1.25em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><strong>Figure 3.</strong> Quick Controls menu in the Browser.</div>
182</div>
183</div>
184
185<p><strong>Browser</strong></p>
186
187<p>The Browser app includes a variety of new features and UI improvements that
188make viewing web content simpler, faster, and more convenient.</p>
189
190<p>The Quick Controls UI, accessible from Browser Settings, is extended and
191redesigned. Users can now use the controls to view thumbnails of open tabs and
192close the active tab, as well as access the overflow menu for instant access to
193Settings and other controls.</p>
194
195<p>To ensure a consistent viewing experience, the Browser extends it's support
196for popular web standards such as CSS 3D, animations, and CSS fixed
197positioning to all sites, mobile or desktop. It also adds support for embedded
198playback of HTML5 video content. To make it easier to manage favorite
199content, users can now save a web page locally for offline viewing, including
200all styling and images. For convenience when visiting Google sites, an improved
201auto-login UI lets users sign in quickly and manage access when multiple users
202are sharing a device.</p>
203
204<p>For best performance, the Browser adds support for plugins that use hardware
205accelerated rendering. Page zoom performance is also dramatically improved,
206making it faster to navigate and view web pages.</p>
207
208<p><strong>Gallery</strong></p>
209
210<p>The Gallery app now supports Picture Transfer Protocol (PTP), so that users
211can connect their cameras over USB and import their pictures to Gallery with a
212single touch. The app also copies the pictures to local storage and provides an
213indicator to let users see how much space is available.</p>
214
215<div  style="padding-top:0em;">
216<div style="margin-right:1em;float:left;margin-left:0em;"><img src="{@docRoot}sdk/images/3.1/resizeable.png" alt="" width="170"  target="_android" style="margin-bottom:0;" />
217<div style="padding-left:1.4em;padding-bottom:1em;width:180px;font-size:.9em"><strong>Figure
2184.</strong> Home screen widgets can now be resized.</div></div>
219
220<p><strong>Calendar</strong></p>
221
222<p>Calendar grids are larger, for better readability and more accurate
223touch-targeting. Additionally, users can create a larger viewing area for grids
224by hiding the calendar list controls. Controls in the date picker are
225redesigned, making them easier to see and use.</li>
226</ul>
227
228<p><strong>Contacts</strong></p>
229
230<p>The Contacts app now lets you locate contacts more easily using full text
231search. Search returns matching results from all fields that are stored for a
232contact.
233</p>
234
235<p><strong>Email</strong></p>
236
237<p>When replying or forwarding an HTML message, The Email app now sends both
238plain text and HTML bodies as a multi-part mime message. This ensures that the
239message will be formatted properly for all recipients. Folder prefixes for IMAP
240accounts are now easier to define and manage. To conserve battery power and
241minimize cell data usage, the application now prefetches email from the server
242only when the device is connected to a Wi-Fi access point. </p>
243
244<p>An updated Home screen widget give users quick access to more email. Users
245can touch Email icon at the top of the widget to cycle through labels such as
246Inbox, Unread, and Starred. The widget itself is now resizable, both
247horizontally and vertically.</p>
248
249<h3 id="enterprise">Enterprise support</h3>
250
251<p>Users can now configure an HTTP proxy for each connected Wi-Fi access point.
252This lets administrators work with users to set a proxy hostname, port, and any
253bypass subdomains. This proxy configuration is automatically used by the Browser
254when the Wi-Fi access point is connected, and may optionally be used by other
255apps. The proxy and IP configuration is now backed up and restored across system
256updates and resets.</p>
257
258<p>To meet the needs of tablet users, the platform now allows a "encrypted
259storage card" device policy to be accepted on devices with emulated storage
260cards and encrypted primary storage.</p>
261
262
263<h2 id="DeveloperApis" style="clear:both">New Developer Features</h2>
264
265<p>The Android 3.1 platform adds refinements and new capabilities that
266developers can build on, to create powerful and engaging application experiences
267on tablets and other large-screen devices. </p>
268
269<h3 id="accessory">Open Accessory API for rich interaction with
270peripherals</h3>
271
272<p>Android 3.1 introduces a new API for integrating hardware accessories with
273applications running on the platform. The API provides a way to interact across
274a wide range of peripherals, from robotics controllers to musical equipment,
275exercise bicycles, and more.</p>
276
277<p>The API is based on a new USB (Universal Serial Bus) stack and services
278that are built into the platform. The platform provides services for discovering
279and identifying connected hardware, as well as for notifying interested
280applications that the hardware is available.</p>
281
282<p>When a user plugs in a USB accessory, the platform receives
283identifying information such as product name, accessory type, manufacturer, and
284version. The platform sets up communication with the accessory and uses its
285information to notify and launch a targeted app, if one is available. Optionally,
286an accessory can provide a URL that lets users find and download an
287app that works with the accessory. These discovery features make
288first-time setup easier for the user and ensure that an appropriate application
289is available for interacting with the connected hardware. </p>
290
291<p>For application developers and accessory manufacturers, accessory mode offers
292many new ways to engage users and build powerful interaction experiences with
293connected hardware.</p>
294
295<p>To learn more about how to develop applications that interact with
296accessories, see the <a href="{@docRoot}guide/topics/usb/accessory.html">USB
297Accessory</a> documentation.</p>
298
299<h3 id="host">USB host API</h3>
300
301<p>Android 3.1 provides built-in platform support for USB host mode and exposes
302an API that lets applications manage connected peripherals. On devices that
303support host mode, applications can use the API to identify and communicate with
304connected devices such as audio devices. input devices, communications devices,
305hubs, cameras, and more.</p>
306
307<p>To learn more about how to develop applications that interact with
308USB devices, see the <a href="{@docRoot}guide/topics/usb/host.html">USB
309Host</a> documentation.</p>
310
311<h3 id="inputdevices">Input from mice, joysticks, and gamepads</h3>
312
313<p>Android 3.1 extends the input event system to support a variety of new input
314sources and motion events, across all views and windows. Developers can build on
315these capabilities to let users interact with their applications using mice,
316trackballs, joysticks, gamepads, and other devices, in addition to keyboards and
317touchscreens.</p>
318
319<p>For mouse and trackball input, the platform supports two new motion event
320actions: scroll (horizontal or vertical) such as from a scrollwheel; and hover,
321which reports the location of the mouse when no buttons are pressed.
322Applications can handle these events in any way needed.</p>
323
324<p>For joysticks and gamepads, the platform provides a large number of motion
325axes that applications can use from a given input source, such as X, Y, Hat X,
326Hat Y, rotation, throttle, pressure, size, touch, tool, orientation, and others.
327Developers can also define custom axes if needed, to capture motion in
328additional ways. The platform provides motion events to applications as a batch,
329and applications can query the details of the movements included in the batch,
330for more efficient and precise handling of events.</p>
331
332<p>Applications can query for the list of connected input devices and the motion
333ranges (axes) supported by each device. Applications can also handle multiple
334input and motion events from a single input device. For example, an application
335can use mouse and joystick and mouse event sources from a single input
336device.</p>
337
338<h3 id="resizewidgetsapp">Resizable Home screen widgets</h3>
339
340<p>Developers can now create Home screen widgets that users can resize
341horizontally, vertically, or both. By simply adding an attribute to the
342declaration of a widget, the widget becomes resizable horizontally, vertically,
343or both. This lets users customize the display of the widget content and display
344more of it on their Home screens.</p>
345
346<h3 id="mtp">MTP API for integrating with external cameras</h3>
347
348<p>In Android 3.1, a new MTP (Media Transfer Protocol) API lets developers write
349apps that interact directly with connected cameras and other PTP devices. The
350new API makes it easy for applications to receive notifications when devices are
351attached and removed, manage files and storage on those devices, and transfer
352files and metadata to and from them. The MTP API implements the PTP (Picture
353Transfer Protocol) subset of the MTP specification.</p>
354
355<h3 id="rtp">RTP API, for control over audio streaming sessions</h3>
356
357<p>Android 3.1 exposes an API to its built-in RTP (Real-time Transport Protocol)
358stack, which applications can use to directly manage on-demand or interactive
359data streaming. In particular, apps that provide VOIP, push-to-talk,
360conferencing, and audio streaming can use the API to initiate sessions and
361transmit or receive data streams over any available network.</p>
362
363<h3 id="performance">Performance optimizations</h3>
364
365<p>Android 3.1 includes a variety of performance optimizations that help make
366applications faster and more responsive. Some of the optimizations include:</p>
367
368<ul>
369<li>A new LRU cache class lets applications benefit from efficient caching.
370Applications can use the class to reduce the time spent computing or downloading
371data from the network, while maintaining a sensible memory footprint for the
372cached data.</li>
373<li>The UI framework now supports partial invalidates in hardware-accelerated
374Views, which makes drawing operations in those Views more efficient.</li>
375<li>A new graphics method, {@link android.graphics.Bitmap#setHasAlpha(boolean)
376setHasAlpha()}, allows apps to hint that a given bitmap is opaque. This provides
377an extra performance boost for some types of blits and is especially useful for
378applications that use ARGB_8888 bitmaps.</li>
379</ul>
380
381