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