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