Home | History | Annotate | Download | only in versions
      1 page.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
     43 features introduced in Android 3.0. It builds on the same tablet-optimized UI
     44 and features offered in Android 3.0 and adds several new capabilities for
     45 users and developers. This document provides an overview of the new features and
     46 technologies introduced in Android 3.1. For a more detailed look at new
     47 developer APIs, see the <a href="{@docRoot}about/versions/android-3.1.html">API
     48 Overview</a> document.</p>
     49 
     50 <p>For a high-level introduction to Android 3.0, please see the <a
     51 href="{@docRoot}about/versions/android-3.0-highlights.html">Android 3.0 Platform
     52 Highlights</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
     63 href="{@docRoot}sdk/images/3.1/home_full.png" target="_android"><img
     64 src="{@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
     71 interface more intuitive and more efficient to use.</p>
     72 
     73 <p>UI transitions are improved throughout the system and across the standard
     74 apps. The Launcher animation is optimized for faster, smoother transition to and
     75 from the Apps list. Adjustments in color, positioning, and text make UI elements
     76 easier to see, understand, and use. Accessibility is improved with consistent
     77 audible feedback throughout the UI and a new setting to let users customize the
     78 touch-hold interval to meet their needs.</p>
     79 
     80 <p>Navigation to and from the five home screens is now easier &mdash; touching
     81 the Home button in the system bar now takes you to the home screen most recently
     82 used. Settings offers an improved view of internal storage,
     83 showing 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
     88 peripherals and accessories. Users can attach many types of input devices
     89 (keyboards, mice, game controllers) and digital cameras. Applications can build
     90 on the platforms USB support to extend connectivity to almost any type of USB
     91 device.</p>
     92 
     93 <p>The platform also adds new support for USB accessories &mdash; external
     94 hardware devices designed to attach to Android-powered devices as USB hosts. When an
     95 accessory is attached, the framework will look for a corresponding application
     96 and offer to launch it for the user.  The accessory can also present a URL 
     97 to the user, for downloading an appropriate application if one is not already
     98 installed.  Users can interact with the application to control powered accessories such
     99 as robotics controllers; docking stations; diagnostic and musical equipment;
    100 kiosks; card readers; and much more.</p>
    101 
    102 <p>The platforms USB capabilities rely on components in device hardware, so
    103 support for USB on specific devices may vary and is determined by device
    104 manufacturers.</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
    114 of apps, the Recent Apps list is now expandable. Users can now scroll the list
    115 of recent apps vertically to see thumbnail images all of the tasks in progress
    116 and 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
    121 screen widgets using drag bars provided by the system. Users can expand widgets
    122 both horizontally and/or vertically to include more content, where supported by
    123 each widget.</p>
    124 
    125 
    126 <h3 id="keyboards">Support for external keyboards
    127 and pointing devices</h3>
    128 
    129 <p>Users can now attach almost any type of external keyboard or mouse to their
    130 Android-powered devices, to create a familiar environment and work more
    131 efficiently. One or more input devices can be attached to the system simultaneously
    132 over USB and/or Bluetooth HID, in any combination. No special configuration or
    133 driver is needed, in most cases. When multiple devices are connected, users can
    134 conveniently manage the active keyboard and IME using the keyboard settings that
    135 are available from the System bar.</p>
    136 
    137 <p>For pointing devices, the platform supports most types of mouse with a single
    138 button and optionally a scroll wheel, as well as similar devices such as
    139 trackballs. When these are connected, users can interact with the UI using
    140 point, 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
    145 most PC joysticks and gamepads that are connected over USB or Bluetooth HID.</p>
    146 
    147 <p>For example, users can connect PlayStation<sup>&reg;</sup>3 and Xbox 360<sup>&reg;</sup>
    148 game controllers over USB (but not Bluetooth), Logitech Dual Action&trade; gamepads and
    149 flight sticks, or a car racing controller. Game controllers that use proprietary
    150 networking or pairing are not supported by default, but in general, the platform
    151 supports 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
    156 apps can take full advantage of higher-speed Wi-Fi access at home, at work, and
    157 while away.</p>
    158 
    159 <p>A new high-performance Wi-Fi lock lets applications maintain
    160 high-performance Wi-Fi connections even when the device screen is off. Users can
    161 take advantage of this to play continuous streamed music, video, and voice
    162 services for long periods, even when the device is otherwise idle and the screen
    163 is off. </p>
    164 
    165 <p>Users can now configure an HTTP proxy for each individual Wi-Fi access
    166 point, by touch-hold of the access point in Settings. The browser uses the HTTP
    167 proxy when communicating with the network over the access point and other apps
    168 may also choose to do so. The platform also provides backup and restore of the
    169 user-defined IP and proxy settings.</p>
    170 <p>The platform adds support for Preferred Network Offload (PNO), a background
    171 scanning capability that conserves battery power savings in cases where Wi-Fi
    172 needs 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
    177 that are optimized for use on larger screen devices. The sections below
    178 highlight 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
    189 make viewing web content simpler, faster, and more convenient.</p>
    190 
    191 <p>The Quick Controls UI, accessible from Browser Settings, is extended and
    192 redesigned. Users can now use the controls to view thumbnails of open tabs and
    193 close the active tab, as well as access the overflow menu for instant access to
    194 Settings and other controls.</p>
    195 
    196 <p>To ensure a consistent viewing experience, the Browser extends it's support
    197 for popular web standards such as CSS 3D, animations, and CSS fixed
    198 positioning to all sites, mobile or desktop. It also adds support for embedded
    199 playback of HTML5 video content. To make it easier to manage favorite
    200 content, users can now save a web page locally for offline viewing, including
    201 all styling and images. For convenience when visiting Google sites, an improved
    202 auto-login UI lets users sign in quickly and manage access when multiple users
    203 are sharing a device.</p>
    204 
    205 <p>For best performance, the Browser adds support for plugins that use hardware
    206 accelerated rendering. Page zoom performance is also dramatically improved,
    207 making 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
    212 can connect their cameras over USB and import their pictures to Gallery with a
    213 single touch. The app also copies the pictures to local storage and provides an
    214 indicator 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 
    219 4.</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
    224 touch-targeting. Additionally, users can create a larger viewing area for grids
    225 by hiding the calendar list controls. Controls in the date picker are
    226 redesigned, 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
    232 search. Search returns matching results from all fields that are stored for a
    233 contact.
    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
    239 plain text and HTML bodies as a multi-part mime message. This ensures that the
    240 message will be formatted properly for all recipients. Folder prefixes for IMAP
    241 accounts are now easier to define and manage. To conserve battery power and
    242 minimize cell data usage, the application now prefetches email from the server
    243 only 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
    246 can touch Email icon at the top of the widget to cycle through labels such as
    247 Inbox, Unread, and Starred. The widget itself is now resizable, both
    248 horizontally 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.
    253 This lets administrators work with users to set a proxy hostname, port, and any
    254 bypass subdomains. This proxy configuration is automatically used by the Browser
    255 when the Wi-Fi access point is connected, and may optionally be used by other
    256 apps. The proxy and IP configuration is now backed up and restored across system
    257 updates and resets.</p>
    258 
    259 <p>To meet the needs of tablet users, the platform now allows a "encrypted
    260 storage card" device policy to be accepted on devices with emulated storage
    261 cards 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
    267 developers can build on, to create powerful and engaging application experiences
    268 on tablets and other large-screen devices. </p>
    269 
    270 <h3 id="accessory">Open Accessory API for rich interaction with
    271 peripherals</h3>
    272 
    273 <p>Android 3.1 introduces a new API for integrating hardware accessories with
    274 applications running on the platform. The API provides a way to interact across
    275 a wide range of peripherals, from robotics controllers to musical equipment,
    276 exercise bicycles, and more.</p>
    277 
    278 <p>The API is based on a new USB (Universal Serial Bus) stack and services
    279 that are built into the platform. The platform provides services for discovering
    280 and identifying connected hardware, as well as for notifying interested
    281 applications that the hardware is available.</p>
    282 
    283 <p>When a user plugs in a USB accessory, the platform receives
    284 identifying information such as product name, accessory type, manufacturer, and
    285 version. The platform sets up communication with the accessory and uses its
    286 information to notify and launch a targeted app, if one is available. Optionally,
    287 an accessory can provide a URL that lets users find and download an
    288 app that works with the accessory. These discovery features make
    289 first-time setup easier for the user and ensure that an appropriate application
    290 is available for interacting with the connected hardware. </p>
    291 
    292 <p>For application developers and accessory manufacturers, accessory mode offers
    293 many new ways to engage users and build powerful interaction experiences with
    294 connected hardware.</p>
    295 
    296 <p>To learn more about how to develop applications that interact with
    297 accessories, see the <a href="{@docRoot}guide/topics/connectivity/usb/accessory.html">USB
    298 Accessory</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
    303 an API that lets applications manage connected peripherals. On devices that
    304 support host mode, applications can use the API to identify and communicate with
    305 connected devices such as audio devices. input devices, communications devices,
    306 hubs, cameras, and more.</p>
    307 
    308 <p>To learn more about how to develop applications that interact with
    309 USB devices, see the <a href="{@docRoot}guide/topics/connectivity/usb/host.html">USB
    310 Host</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
    315 sources and motion events, across all views and windows. Developers can build on
    316 these capabilities to let users interact with their applications using mice,
    317 trackballs, joysticks, gamepads, and other devices, in addition to keyboards and
    318 touchscreens.</p>
    319 
    320 <p>For mouse and trackball input, the platform supports two new motion event
    321 actions: scroll (horizontal or vertical) such as from a scrollwheel; and hover,
    322 which reports the location of the mouse when no buttons are pressed.
    323 Applications can handle these events in any way needed.</p>
    324 
    325 <p>For joysticks and gamepads, the platform provides a large number of motion
    326 axes that applications can use from a given input source, such as X, Y, Hat X,
    327 Hat Y, rotation, throttle, pressure, size, touch, tool, orientation, and others.
    328 Developers can also define custom axes if needed, to capture motion in
    329 additional ways. The platform provides motion events to applications as a batch,
    330 and applications can query the details of the movements included in the batch,
    331 for more efficient and precise handling of events.</p>
    332 
    333 <p>Applications can query for the list of connected input devices and the motion
    334 ranges (axes) supported by each device. Applications can also handle multiple
    335 input and motion events from a single input device. For example, an application
    336 can use mouse and joystick and mouse event sources from a single input
    337 device.</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
    342 horizontally, vertically, or both. By simply adding an attribute to the
    343 declaration of a widget, the widget becomes resizable horizontally, vertically,
    344 or both. This lets users customize the display of the widget content and display
    345 more 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
    350 apps that interact directly with connected cameras and other PTP devices. The
    351 new API makes it easy for applications to receive notifications when devices are
    352 attached and removed, manage files and storage on those devices, and transfer
    353 files and metadata to and from them. The MTP API implements the PTP (Picture
    354 Transfer 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)
    359 stack, which applications can use to directly manage on-demand or interactive
    360 data streaming. In particular, apps that provide VOIP, push-to-talk,
    361 conferencing, and audio streaming can use the API to initiate sessions and
    362 transmit 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
    367 applications 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.
    371 Applications can use the class to reduce the time spent computing or downloading
    372 data from the network, while maintaining a sensible memory footprint for the
    373 cached data.</li>
    374 <li>The UI framework now supports partial invalidates in hardware-accelerated
    375 Views, which makes drawing operations in those Views more efficient.</li>
    376 <li>A new graphics method, {@link android.graphics.Bitmap#setHasAlpha(boolean)
    377 setHasAlpha()}, allows apps to hint that a given bitmap is opaque. This provides
    378 an extra performance boost for some types of blits and is especially useful for
    379 applications that use ARGB_8888 bitmaps.</li>
    380 </ul>
    381 
    382