Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 1 | page.title=Android 4.0 Platform Highlights |
| 2 | |
| 3 | @jd:body |
| 4 | |
| 5 | |
| 6 | <style type="text/css"> |
| 7 | #jd-content { |
| 8 | max-width:1024px; |
| 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; |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 17 | padding:0 0 40px 60px; |
| 18 | margin-top:-30px; |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 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> |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 40 | |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 41 | <div class="video"> |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 42 | <iframe width="380" height="223" src="http://www.youtube.com/embed/-F_ke3rxopc?hd=1" frameborder="0" |
| 43 | allowfullscreen></iframe> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 44 | </div> |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 45 | |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 46 | <p>Welcome to Android 4.0!</p> |
| 47 | |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 48 | <p>Android 4.0 delivers a refined, unified UI for phones and tablets and |
| 49 | introduces innovative features for users and developers. This document provides |
| 50 | a glimpse of the many new features and technologies that make Android 4.0 |
| 51 | simple, beautiful, and beyond smart. <!--For technical details about |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 52 | new developer APIs described below, see the <a |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 53 | href="{@docRoot}sdk/android-4.0.html">Android 4.0 API Overview</a> |
| 54 | document.--></p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 55 | |
| 56 | <ul> |
| 57 | <li><a href="#UserFeatures">Android 4.0 for Users</a></li> |
| 58 | <li><a href="#DeveloperApis">Android 4.0 for Developers</a></li> |
| 59 | </ul> |
| 60 | |
| 61 | <h2 id="UserFeatures" style="clear:right">Android 4.0 for Users</h2> |
| 62 | |
| 63 | <div style="padding-bottom:0em;"> |
| 64 | <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> |
| 65 | <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> |
| 66 | </div> |
| 67 | |
| 68 | |
| 69 | <h3 id="simple" style="color:#172861">Simple, beautiful, beyond smart</h3> |
| 70 | |
| 71 | <p>Android 4.0 builds on the things people love most about Android — easy |
| 72 | multitasking, rich notifications, customizable home screens, resizable widgets, |
| 73 | and deep interactivity — and adds powerful new ways of communicating and |
| 74 | sharing.</p> |
| 75 | |
| 76 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Refined, evolved UI</strong></p> |
| 77 | |
| 78 | <p>Focused on bringing the power of Android to the surface, Android 4.0 makes |
| 79 | <strong>common actions more visible</strong> and lets users navigate with |
| 80 | simple, intuitive gestures. Refined <strong>animations</strong> and feedback |
| 81 | throughout the system make interactions engaging and interesting. An entirely |
| 82 | <strong>new typeface</strong> optimized for high-resolution screens improves |
| 83 | readability and brings a polished, modern feel to the user interface.</p> |
| 84 | |
| 85 | <p>Virtual buttons in the System Bar let users navigate instantly to Back, Home, |
| 86 | and Recent Apps. The <strong>System Bar</strong> and virtual buttons are present |
| 87 | across all apps, but can be dimmed by applications for full-screen viewing. |
| 88 | Users can access each application's contextual options in the <strong>Action |
| 89 | Bar</strong>, displayed at the top (and sometimes also at the bottom) of the |
| 90 | screen.</p> |
| 91 | |
| 92 | <p><strong>Multitasking</strong> is a key strength of Android and it's made even |
| 93 | easier and more visual on Android 4.0. The Recent Apps button lets users jump |
| 94 | instantly from one task to another using the list in the System Bar. The list |
| 95 | pops up to show thumbnail images of apps used recently — tapping a |
| 96 | thumbnail switches to the app.</p> |
| 97 | |
| 98 | <div style="padding-top:0em;"> |
| 99 | <div style="margin-right:.5em;float:left;width:182px;padding-top:.5em;"> |
| 100 | <a href="{@docRoot}sdk/images/4.0/tasks-lg.png" target="_android"> |
| 101 | <img src="{@docRoot}sdk/images/4.0/tasks.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 102 | <div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1em;">The Recent Apps list makes multitasking simple.</div> |
| 103 | <a href="{@docRoot}sdk/images/4.0/lock-camera-lg.png" target="_android"> |
| 104 | <img src="{@docRoot}sdk/images/4.0/lock-camera.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 105 | <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> |
| 106 | <a href="{@docRoot}sdk/images/4.0/contact-call-lg.png" target="_android"> |
| 107 | <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> |
| 108 | <!--<a href="{@docRoot}sdk/images/4.0/quick-response-lg.png" target="_android"> |
| 109 | <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>--> |
| 110 | <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> |
| 111 | </div> |
| 112 | </div> |
| 113 | |
| 114 | <p>Rich and interactive <strong>notifications</strong> let users keep in |
| 115 | constant touch with incoming messages, play music tracks, see real-time updates |
| 116 | from apps, and much more. On smaller-screen devices, notifications appear at the |
| 117 | top of the screen, while on larger-screen devices they appear in the System |
| 118 | Bar.</p> |
| 119 | |
| 120 | <div style="padding-top:0em;"> |
| 121 | <div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:326px"> |
| 122 | <a href="{@docRoot}sdk/images/4.0/allapps-lg.png" target="_android"> |
| 123 | <img src="{@docRoot}sdk/images/4.0/allapps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 124 | <a href="{@docRoot}sdk/images/4.0/calendar-widget-lg.png" target="_android"> |
| 125 | <img src="{@docRoot}sdk/images/4.0/calendar-widget.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 126 | <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> |
| 127 | </div> |
| 128 | </div> |
| 129 | |
| 130 | |
| 131 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Home screen folders and |
| 132 | favorites tray</strong></p> |
| 133 | |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 134 | <p>New home screen <strong>folders</strong> offer a new way for users to group |
| 135 | their apps and shortcuts logically, just by dragging one onto another. Also, |
| 136 | in All Apps launcher, users can now simply <strong>drag an app</strong> to get |
| 137 | information about it or immediately uninstall it, or disable a pre-installed app.</p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 138 | |
| 139 | <p>On smaller-screen devices, the home screen now includes a customizable |
| 140 | <strong>favorites tray</strong> visible from all home screens. Users can drag |
| 141 | apps, shortcuts, folders, and other priority items in or out of the favorites |
| 142 | tray for instant access from any home screen.</p> |
| 143 | |
| 144 | |
| 145 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Resizable |
| 146 | widgets</strong></p> |
| 147 | |
| 148 | <p>Home screens in Android 4.0 are designed to be content-rich and customizable. |
| 149 | Users can do much more than add shortcuts — they can embed live |
| 150 | application content directly through interactive <strong>widgets</strong>. |
| 151 | Widgets let users check email, flip through a calendar, play music, check social |
| 152 | streams, and more — right from the home screen, without having to launch |
| 153 | apps. Widgets are resizable, so users can expand them to show more content or |
| 154 | shrink them to save space.</p> |
| 155 | |
| 156 | |
| 157 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>New lock screen |
| 158 | actions</strong></p> |
| 159 | |
| 160 | <p>The lock screens now let users do more without unlocking. From the slide lock |
| 161 | screen, users can <strong>jump directly to the camera</strong> for a picture or |
| 162 | <strong>pull down the notifications window</strong> to check for messages. When |
| 163 | listening to music, users can even manage music tracks and see album art. </p> |
| 164 | |
| 165 | |
| 166 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Quick responses for |
| 167 | incoming calls</strong></p> |
| 168 | |
| 169 | <p>When an incoming call arrives, users can now quickly <strong>respond by text |
| 170 | message</strong>, without needing to pick up the call or unlock the device. On |
| 171 | the incoming call screen, users simply slide a control to see a list of text |
| 172 | responses and then tap to send and end the call. Users can add their own |
| 173 | responses and manage the list from the Settings app.</p> |
| 174 | |
| 175 | |
| 176 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Swipe to dismiss |
| 177 | notifications, tasks, and browser tabs</strong></p> |
| 178 | |
Dirk Dougherty | cdb2008 | 2011-10-21 11:13:47 -0700 | [diff] [blame] | 179 | <p>Android 4.0 makes managing notifications, recent apps, and browser tabs even |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 180 | easier. Users can now dismiss individual notifications, apps from the Recent |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 181 | Apps list, and browser tabs with a simple swipe of a finger. </p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 182 | |
| 183 | <div style="padding-top:0em;"> |
| 184 | <div style="margin-right:1em;float:right;margin-left:1em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:200px"> |
| 185 | <a href="{@docRoot}sdk/images/4.0/text-replace-lg.png" target="_android"> |
| 186 | <img src="{@docRoot}sdk/images/4.0/text-replace.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 187 | <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> |
| 188 | <a href="{@docRoot}sdk/images/4.0/tts-lg.png" target="_android"> |
| 189 | <img src="{@docRoot}sdk/images/4.0/tts.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 190 | <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> |
| 191 | </div> |
| 192 | </div> |
| 193 | |
| 194 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved text input and |
| 195 | spell-checking</strong></p> |
| 196 | |
| 197 | <p>The soft keyboard in Android 4.0 makes text input even faster and more |
| 198 | accurate. Error correction and word suggestion are improved through a new set of |
| 199 | default dictionaries and more accurate heuristics for handling cases such as |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 200 | double-typed characters, skipped letters, and omitted spaces. Word suggestion |
| 201 | is also improved and the suggestion strip is simplified to show only three |
| 202 | words at a time.</p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 203 | |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 204 | <p>To fix misspelled words more easily, Android 4.0 adds a |
| 205 | <strong>spell-checker</strong> that locates and underlines errors and suggests |
| 206 | replacement words. With one tap, users can choose from multiple spelling |
| 207 | suggestions, delete a word, or add it to the dictionary. Users can even tap to |
| 208 | see replacement suggestions for words that are spelled correctly. For |
| 209 | specialized features or additional languages, users can now download and install |
| 210 | third-party dictionaries, spell-checkers, and other text services.</p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 211 | |
| 212 | |
| 213 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful voice input |
| 214 | engine</strong></p> |
| 215 | |
| 216 | <p>Android 4.0 introduces a powerful new voice input engine that offers a |
| 217 | continuous "open microphone" experience and streaming voice recognition. The new |
| 218 | voice input engine lets users dictate the text they want, for as long as they |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 219 | want, using the language they want. Users can <strong>speak continously</strong> for a prolonged |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 220 | time, even pausing for intervals if needed, and dictate punctuation to create |
| 221 | correct sentences. As the voice input engine enters text, it underlines possible |
| 222 | dictation errors in gray. After dictating, users can tap the underlined words to |
| 223 | quickly replace them from a list of suggestions.</p> |
| 224 | |
| 225 | <div style="padding-top:0em;"> |
| 226 | <div style="margsin-right:.8em;float:left;width:350px;padding-top:1em;"> |
| 227 | <a href="{@docRoot}sdk/images/4.0/usage-all-lg.png" target="_android"> |
| 228 | <img src="{@docRoot}sdk/images/4.0/usage-all.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 229 | <a href="{@docRoot}sdk/images/4.0/usage-maps-lg.png" target="_android"> |
| 230 | <img src="{@docRoot}sdk/images/4.0/usage-maps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 231 | <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> |
| 232 | </div> |
| 233 | </div> |
| 234 | |
| 235 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Control over network |
| 236 | data</strong></p> |
| 237 | |
| 238 | <p>Mobile devices can make extensive use of network data for streaming content, |
| 239 | synchronizing data, downloading apps, and more. To meet the needs of users with |
| 240 | <strong>tiered or metered data plans</strong>, Android 4.0 adds new controls for |
| 241 | managing network data usage.</p> |
| 242 | |
| 243 | <p>In the Settings app, colorful charts show the total data usage on each |
| 244 | network type (mobile or Wi-Fi), as well as amount of data used by each running |
| 245 | application. Based on their data plans, users can optionally set warning levels |
| 246 | or hard limits on data usage or disable mobile data altogether. Users can also |
| 247 | manage the background data used by individual applications as needed.</p> |
| 248 | |
| 249 | |
| 250 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Designed for |
| 251 | accessibility</strong></p> |
| 252 | |
| 253 | <p>A variety of new features greatly enhance the accessibility of Android 4.0 |
| 254 | for blind or visually impaired users. Most important is a new |
| 255 | <strong>explore-by-touch mode</strong> that lets users navigate without having |
| 256 | to see the screen. Touching the screen once triggers audible feedback that |
| 257 | identifies the UI component below; a second touch in the same component |
| 258 | activates it with a full touch event. The new mode is especially important to |
| 259 | support users on new devices that use virtual buttons in the System Bar, rather |
| 260 | than dedicated hardware buttons or trackballs. Also, standard apps are updated |
| 261 | to offer an improved accessibility experience. The <strong>Browser</strong> |
| 262 | supports a script-based screen reader for reading favorite web content and |
| 263 | navigating sites. For improved readability, users can also increase the default |
| 264 | font size used across the system.</p> |
| 265 | |
| 266 | <p>The accessibility experience begins at first setup — a simple |
| 267 | <strong>touch gesture</strong> during setup (clockwise square from upper left) |
| 268 | activates all accessibility features and loads a setup tutorial. Once |
| 269 | accessibility features are active, everything visible on the screen can be |
| 270 | spoken aloud by the standard screen reader.</p> |
| 271 | |
| 272 | |
| 273 | <h3 id="comms" style="color:#172861">Communication and sharing</h3> |
| 274 | |
| 275 | <div style="padding-top:0em;"> |
| 276 | <div style="margin-right:1em;float:right;margin-left:.5em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:490px"> |
| 277 | <!--<img src="{@docRoot}sdk/images/4.0/contact-call.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" />--> |
| 278 | <a href="{@docRoot}sdk/images/4.0/contact-faves-lg.png" target="_android"> |
| 279 | <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> |
| 280 | <a href="{@docRoot}sdk/images/4.0/contact-connect-lg.png" target="_android"> |
| 281 | <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> |
| 282 | <a href="{@docRoot}sdk/images/4.0/contact-email-lg.png" target="_android"> |
| 283 | <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> |
| 284 | |
| 285 | <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> |
| 286 | </div> |
| 287 | </div> |
| 288 | |
| 289 | <p>Designed for the way people live, Android 4.0 integrates rich social |
| 290 | communication and sharing touchpoints across the system, making it easy to talk, |
| 291 | email, text, and share.</p> |
| 292 | |
| 293 | |
| 294 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>People and |
| 295 | profiles</strong></p> |
| 296 | |
| 297 | <p>Throughout the system, a user’s social groups, profiles, and contacts are |
| 298 | linked together and integrated for easy accessibility. At the center is a new |
| 299 | <strong>People app</strong> that offers richer profile information, including a |
| 300 | large profile picture, phone numbers, addresses and accounts, status updates, |
Dirk Dougherty | 9a6b424 | 2011-12-12 13:49:31 -0800 | [diff] [blame^] | 301 | events, stream items, and a new button for connecting on integrated social networks. </p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 302 | |
| 303 | <p>The user's own contact information is stored in a new <strong>"Me" |
| 304 | profile</strong>, allowing easier sharing with apps and people. All of the |
| 305 | user's integrated contacts are displayed in an easy to manage list, including |
| 306 | controls over which contacts are shown from any integrated account or social |
| 307 | network. Wherever the user navigates across the system, tapping a profile photo |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 308 | displays Quick Contacts, with large profile pictures, shortcuts to phone numbers, |
| 309 | text messaging, and more. </p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 310 | |
| 311 | |
| 312 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Unified calendar, visual |
| 313 | voicemail</strong></p> |
| 314 | |
| 315 | <p>To help organize appointments and events, an updated <strong>Calendar |
| 316 | app</strong> brings together personal, work, school, and social agendas. With |
| 317 | user permission, other applications can contribute events to the calendar and |
| 318 | manage reminders, for an integrated view across multiple calendar providers. The |
| 319 | app is redesigned to let users manage events more easily. Calendars are |
| 320 | color-coded and users can <strong>swipe left or right</strong> to change dates |
| 321 | and pinch to zoom in or out agendas. </p> |
| 322 | |
| 323 | <p>In the phone app, a new <strong>visual voicemail</strong> features integrates |
| 324 | incoming messages, voice transcriptions, and audio files from one or more |
| 325 | providers. Third-party applications can integrate with the Phone app to add |
| 326 | their own voice messages, transcriptions, and more to the visual voicemail |
| 327 | inbox. </p> |
| 328 | |
| 329 | <div style="padding-top:0em;"> |
| 330 | <div style="margsin-right:0em;float:left;width:282px;padding-top:1em;"> |
| 331 | <a href="{@docRoot}sdk/images/4.0/camera-lg.png" target="_android"> |
| 332 | <img src="{@docRoot}sdk/images/4.0/camera.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 333 | <a href="{@docRoot}sdk/images/4.0/gallery-edit-lg.png" target="_android"> |
| 334 | <img src="{@docRoot}sdk/images/4.0/gallery-edit.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 335 | <a href="{@docRoot}sdk/images/4.0/gallery-share-lg.png" target="_android"> |
| 336 | <img src="{@docRoot}sdk/images/4.0/gallery-share.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 337 | <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> |
| 338 | </div> |
| 339 | </div> |
| 340 | |
| 341 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Rich and versatile camera |
| 342 | capabilities</strong></p> |
| 343 | |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 344 | <p>The Camera app includes many new features that let users capture special moments |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 345 | with great photos and videos. After capturing images, they can edit and share |
| 346 | them easily with friemds. </p> |
| 347 | |
| 348 | <p>When taking pictures, <strong>continuous focus</strong>, <strong>zero shutter |
| 349 | lag exposure</strong>, and decreased shot-to-shot speed help capture clear, |
| 350 | precise images. <strong>Stabilized image zoom</strong> lets users compose photos |
| 351 | and video in the way they want, including while video is recording. For new |
| 352 | flexibility and convenience while shooting video, users can now take |
| 353 | <strong>snapshots at full video resolution</strong> just by tapping the screen |
| 354 | as video continues to record.</p> |
| 355 | |
| 356 | <p>To make it easier to take great pictures of people, built-in <strong>face |
| 357 | detection</strong> locates faces in the frame and automatically sets focus. For |
| 358 | more control, users can <strong>tap to focus</strong> anywhere in the preview |
| 359 | image. </p> |
| 360 | |
| 361 | <p>For capturing larger scenes, the Camera introduces a <strong>single-motion |
| 362 | panorama</strong> mode. In this mode, the user starts an exposure and then |
| 363 | slowly turns the Camera to encompass as wide a perspective as needed. The Camera |
| 364 | assembles the full range of continuous imagery into a single panoramic |
| 365 | photo.</p> |
| 366 | |
| 367 | <p>After taking a picture or video, users can quickly share it by email, text |
| 368 | message, bluetooth, social networks, and more, just by tapping the thumbnail in |
| 369 | the camera controls. </p> |
| 370 | |
| 371 | |
| 372 | <div style="padding-top:0em;"> |
| 373 | <div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:160px"> |
| 374 | <img src="{@docRoot}sdk/images/4.0/gallery-widget.png" alt="" width="144" style="border:1px solid #ddd;border-radius: 6px;" /> |
| 375 | <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> |
| 376 | </div> |
| 377 | |
| 378 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Redesigned Gallery app |
| 379 | with photo editor</strong></p> |
| 380 | |
| 381 | <p>The Gallery app now makes it easier to manage, show, and share photos and |
| 382 | videos. For managing collections, a <strong>redesigned album layout</strong> |
| 383 | shows many more albums and offers larger thumbnails. There are many ways to sort |
| 384 | albums, including by time, location, people, and tags. To help pictures look |
| 385 | their best, the Gallery now includes a powerful <strong>photo editor</strong>. |
| 386 | Users can crop and rotate pictures, set levels, remove red eyes, add effects, |
| 387 | and much more. After retouching, users can select one or multiple pictures or |
| 388 | videos to share instantly over email, text messaging, bluetooth, social |
| 389 | networks, or other apps.</p> |
| 390 | |
| 391 | <p>An improved <strong>Picture Gallery widget</strong> lets users look at |
| 392 | pictures directly on their home screen. The widget can display pictures from a |
| 393 | selected album, shuffle pictures from all albums, or show a single image. After |
| 394 | adding the widget to the home screen, users can flick through the photo stacks |
| 395 | to locate the image they want, then tap to load it in Gallery. </p> |
| 396 | |
| 397 | <div style="padding-top:0em;clear:right;"> |
| 398 | <div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:320px"> |
| 399 | <img src="{@docRoot}sdk/images/4.0/live-effects.png" alt="" width="297" style="border:1px solid #ddd;border-radius: 6px;" /> |
| 400 | <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> |
| 401 | </div> |
| 402 | </div> |
| 403 | |
| 404 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Live Effects for transforming video</strong></p> |
| 405 | |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 406 | <p>Live Effects is a collection of graphical transformations that add interest |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 407 | and fun to videos captured in the Camera app. For example, users can |
| 408 | <strong>change the background</strong> behind them to any stock or custom image, |
| 409 | for just the right setting when shooting videeo. Also available for video is |
| 410 | Silly Faces, a set of morphing effects that use state-of-the-art face |
| 411 | recognition and GPU filters to transform facial features. For example, you can |
| 412 | use effects such as small eyes, big mouth, big nose, face squeeze, and more. |
| 413 | Outside of the Camera app, Live Effects is available during video chat in the |
| 414 | Google Talk app.</p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 415 | |
| 416 | <div style="padding-top:0em;"> |
| 417 | <div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;"> |
| 418 | <a href="{@docRoot}sdk/images/4.0/screenshot-lg.png" target="_android"> |
| 419 | <img src="{@docRoot}sdk/images/4.0/screenshot.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 420 | <div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"> Snapping a screenshot.</div> |
| 421 | </div> |
| 422 | </div> |
| 423 | </div> |
| 424 | |
| 425 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Sharing with screenshots</strong></p> |
| 426 | |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 427 | <p>Users can now share what's on their screens more easily by taking |
| 428 | screenshots. Hardware buttons let them snap a <strong>screenshot</strong> and |
| 429 | store it locally. Afterward, they can view, edit, and share the screen shot in |
| 430 | Gallery or a similar app.</p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 431 | |
| 432 | |
| 433 | <h3 id="cloud" style="color:#172861">Cloud-connected experience</h3> |
| 434 | |
| 435 | <div style="padding-top:0em;"> |
| 436 | <div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:0;padding-bottom:0;width:326px"> |
| 437 | <a href="{@docRoot}sdk/images/4.0/browser-tabs-lg.png" target="_android"> |
| 438 | <img src="{@docRoot}sdk/images/4.0/browser-tabs.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 439 | <a href="{@docRoot}sdk/images/4.0/browser-lg.png" target="_android"> |
| 440 | <img src="{@docRoot}sdk/images/4.0/browser.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 441 | <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> |
| 442 | <img src="{@docRoot}sdk/images/4.0/bbench.png" alt="" width="310" /> |
| 443 | <div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Benchmark comparisons of Android Browser.</div> |
| 444 | </div> |
| 445 | </div> |
| 446 | |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 447 | <p>Android has always been cloud-connected, letting users browse the web and |
| 448 | sync photos, apps, games, email, and contacts — wherever they are and |
| 449 | across all of their devices. Android 4.0 adds new browsing and email |
| 450 | capabilities to let users take even more with them and keep communication |
| 451 | organized.</p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 452 | |
| 453 | |
| 454 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful web |
| 455 | browsing</strong></p> |
| 456 | |
| 457 | <p>The Android Browser offers an experience that’s as rich and convenient as a |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 458 | desktop browser. It lets users instantly sync and manage <strong>Google Chrome |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 459 | bookmarks</strong> from all of their accounts, jump to their favorite content |
| 460 | faster, and even save it for reading later in case there's no network |
| 461 | available.</p> |
| 462 | |
| 463 | <p>To get the most out of web content, users can now request full |
| 464 | <strong>desktop versions</strong> of web sites, rather than their mobile |
| 465 | versions. Users can set their preference for web sites separately for each |
| 466 | <strong>browser tab</strong>. For longer content, users can save a copy for |
| 467 | <strong>offline reading</strong>. To find and open saved pages, users can browse |
| 468 | a visual list that’s included with browser bookmarks and history. For better |
| 469 | readability and accessibility, users can increase the browser’s <strong>zoom |
| 470 | levels</strong> and override the system default <strong>text sizes</strong>.</p> |
| 471 | |
| 472 | <p>Across all types of content, the Android Browser offers dramatically improved |
| 473 | <strong>page rendering performance</strong> through updated versions of the |
| 474 | WebKit core and the V8 Crankshaft compilation engine for JavaScript. In |
| 475 | benchmarks run on a Nexus S device, the Android 4.0 browser showed an |
| 476 | improvement of nearly 220% over the Android 2.3 browser in the V8 Benchmark |
| 477 | Suite and more than 35% in the SunSpider 9.1 JavaScript Benchmark. When run on a |
| 478 | Galaxy Nexus device, the Android 4.0 browser showed improvement of nearly 550% |
| 479 | in the V8 benchmark and nearly 70% in the SunSpider benchmark.</p> |
| 480 | |
| 481 | |
| 482 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved |
| 483 | email</strong></p> |
| 484 | |
| 485 | <p>In Android 4.0, email is easier to send, read, and manage. For composing |
| 486 | email, <strong>improved auto-completion</strong> of recipients helps with |
| 487 | finding and adding frequent contacts more quickly. For easier input of frequent |
| 488 | text, users can now create <strong>quick responses</strong> and store them in |
| 489 | the app, then enter them from a convenient menu when composing. When replying to |
| 490 | a message, users can now toggle the message to Reply All and Forward without |
| 491 | changing screens.</p> |
| 492 | |
| 493 | <p>For easier browsing across accounts and labels, the app adds an |
| 494 | <strong>integrated menu</strong> of accounts and recent labels. To help users |
| 495 | locate and organize IMAP and Exchange email, the Email app now supports |
| 496 | <strong>nested mail subfolders</strong>, each with synchronization rules. Users |
| 497 | can also search across folders on the server, for faster results. </p> |
| 498 | |
| 499 | <p>For <strong>enterprises</strong>, the Email app supports EAS v14. It supports |
| 500 | EAS certificate authentication, provides ABQ strings for device type and mode, |
| 501 | and allows automatic sync to be disabled while roaming. Administrators can also |
| 502 | limit attachment size or disable attachments.</p> |
| 503 | |
| 504 | <p>For keeping track of incoming email more easily, a <strong>resizable Email |
| 505 | widget</strong> lets users flick through recent email right from the home |
| 506 | screen, then jump into the Email app to compose or reply.</p> |
| 507 | |
| 508 | |
| 509 | <div style="padding-top:0em;"> |
| 510 | <div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;"> |
| 511 | <a href="{@docRoot}sdk/images/4.0/beam-lg.png" target="_android"> |
| 512 | <img src="{@docRoot}sdk/images/4.0/beam.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 513 | <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> |
| 514 | </div> |
| 515 | </div> |
| 516 | |
| 517 | <h3 id="innovation" style="color:#172861">Innovation</h3> |
| 518 | |
| 519 | <p>Android is continously driving innovation forward, pushing the boundaries of |
| 520 | communication and sharing with new capabilities and interactions.</p> |
| 521 | |
| 522 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam for |
| 523 | NFC-based sharing</strong></p> |
| 524 | |
| 525 | <p>Android Beam is an innovative, convenient feature for sharing across two |
| 526 | NFC-enabled devices, It lets people instantly exchange favorite apps, contacts, |
| 527 | music, videos — almost anything. It’s incredibly simple and convenient to |
| 528 | use — there’s no menu to open, application to launch, or pairing needed. |
| 529 | Just touch one Android-powered phone to another, then tap to send.</p> |
| 530 | |
| 531 | <p>For sharing apps, Android Beam pushes a link to the app's details page in |
| 532 | Android Market. On the other device, the Market app launches and loads the |
| 533 | details page, for easy downloading of the app. Individual apps can build on |
| 534 | Android Beam to add other types of interactions, such as passing game scores, |
| 535 | initiating a multiplayer game or chat, and more.</p> |
| 536 | |
| 537 | <div style="padding-top:0em;"> |
| 538 | <div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:160px"> |
| 539 | <a href="{@docRoot}sdk/images/4.0/face-unlock-lg.png" target="_android"> |
| 540 | <img src="{@docRoot}sdk/images/4.0/face-unlock.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| 541 | <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> |
| 542 | </div> |
| 543 | </div> |
| 544 | |
| 545 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Face Unlock</strong></p> |
| 546 | |
| 547 | <p>Android 4.0 introduces a completely new approach to securing a device, making |
Dirk Dougherty | 685ce06 | 2011-10-20 14:20:36 -0700 | [diff] [blame] | 548 | each person's device even more personal — Face Unlock is a new screen-lock |
| 549 | option that lets users unlock their devices with their faces. It takes advantage |
| 550 | of the device front-facing camera and state-of-the-art facial recognition |
| 551 | technology to register a face during setup and then to recognize it again when |
| 552 | unlocking the device. Users just hold their devices in front of their faces to |
| 553 | unlock, or use a backup PIN or pattern. </p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 554 | |
| 555 | |
| 556 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct and Bluetooth HDP</strong></p> |
| 557 | |
| 558 | <p>Support for <strong>Wi-Fi Direct</strong> lets users connect directly to |
| 559 | nearby peer devices over Wi-Fi, for more reliable, higher-speed communication. |
| 560 | No internet connection or tethering is needed. Through third-party apps, users |
| 561 | can connect to compatible devices to take advantage of new features such as |
| 562 | instant sharing of files, photos, or other media; streaming video or audio from |
| 563 | another device; or connecting to compatible printers or other devices.</p> |
| 564 | |
Dirk Dougherty | 9a6b424 | 2011-12-12 13:49:31 -0800 | [diff] [blame^] | 565 | <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> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 566 | |
| 567 | |
| 568 | <h2 id="DeveloperApis" style="clear:right">New Developer Features</h2> |
| 569 | |
| 570 | <!-- <ul> |
| 571 | <li><a href="#ui-dev">Unified UI framework for phones, tablets, and more</a></li> |
| 572 | <li><a href="#communication-dev">Communication and sharing</a></li> |
| 573 | <li><a href="#media-dev">New media capabilities</a></li> |
| 574 | <li><a href="#connectivity-dev">New types of connectivity</a></li> |
| 575 | <li><a href="#uicomp-dev">New UI components and capabilities</a></li> |
| 576 | <li><a href="input-dev">New input types and text services</a></li> |
| 577 | <li><a href="#accessibility-dev">Enhanced accessibility APIs</a></li> |
| 578 | <li><a href="#data-dev">Efficient network usage</a></li> |
| 579 | <li><a href="#security-dev">Security for apps and content</a></li> |
| 580 | <li><a href="#enterprise-dev">Enhancements for Enterprise</a></li> |
| 581 | </ul>--> |
| 582 | |
| 583 | <h3 id="ui-dev">Unified UI framework for phones, tablets, and more</h3> |
| 584 | |
| 585 | <p>Android 4.0 brings a unified UI framework that lets developers create |
| 586 | elegant, innovative apps for phones, tablets, and more. It includes all of the |
| 587 | familiar Android 3.x interface elements and APIs — fragments, content |
| 588 | loaders, Action Bar, rich notifications, resizable home screen widgets, and more |
| 589 | — as well as new elements and APIs.</p> |
| 590 | |
| 591 | <p>For developers, the unified UI framework in Android 4.0 means new UI tools, |
| 592 | consistent design practices, simplified code and resources, and streamlined |
| 593 | development across the range of Android-powered devices.</p> |
| 594 | |
| 595 | <div class="sidebox-wrapper"> |
| 596 | <div class="sidebox" style="border-left:1px solid #22a5ca;background-color:#fff;"> |
| 597 | <h3>Key Android 3.x developer features, <br>now for phones too</h3> |
| 598 | |
| 599 | <p>Core UI</p> |
| 600 | <ul> |
| 601 | <li>Fragments and content loaders</li> |
| 602 | <li>Resizeable home screen widgets</li> |
| 603 | <li>Rich notifications</li> |
| 604 | <li>Multi-selection, drag-drop, clipboard</li> |
| 605 | <li>Improved screen-support API</li> |
| 606 | <li>Hardware-accelerated 2D graphics</li> |
| 607 | </ul> |
| 608 | |
| 609 | <p>Graphics and animation</p> |
| 610 | <ul> |
| 611 | <li>Property-based animation</li> |
| 612 | <li>Renderscript 3D graphics</li> |
| 613 | </ul> |
| 614 | |
| 615 | <p>Media and connectivity</p> |
| 616 | <ul> |
| 617 | <li>HTTP Live streaming</li> |
| 618 | <li>Bluetooth A2DP and HSP devices</li> |
| 619 | <li>Support for RTP</li> |
| 620 | <li>MTP/PTP file transfer</li> |
| 621 | <li>DRM framework</li> |
| 622 | <li>Input from keyboard, mouse, gamepad, joystick</li> |
| 623 | </ul> |
| 624 | |
| 625 | <p>Enterprise</p> |
| 626 | <ul> |
| 627 | <li>Full device encryption</li> |
| 628 | <li>DPM policies for encrypted storage and passwords</li> |
| 629 | </ul> |
| 630 | </div> |
| 631 | </div> |
| 632 | |
| 633 | <h3 id="communication-dev">Communication and sharing</h3> |
| 634 | |
| 635 | <p>Android 4.0 extends social and sharing features to any application on the |
Dirk Dougherty | 9a6b424 | 2011-12-12 13:49:31 -0800 | [diff] [blame^] | 636 | device. Applications can integrate contacts, profile data, stream items, |
| 637 | and calendar events from any of the user’s activities or social networks.</p> |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 638 | |
| 639 | |
| 640 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Social API</strong></p> |
| 641 | |
| 642 | <p>A shared social provider and API provide a new unified store for contacts, |
Dirk Dougherty | 9a6b424 | 2011-12-12 13:49:31 -0800 | [diff] [blame^] | 643 | profile data, stream items, and photos. Any app or social network with user |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 644 | permission can contribute raw contacts and make them accessible to other apps |
| 645 | and networks. Applications with user permission can also read profile data from |
| 646 | the provider and display it in their applications.</p> |
| 647 | |
| 648 | <p>The social API lets applications store standard contact data as well as new |
Dirk Dougherty | 9a6b424 | 2011-12-12 13:49:31 -0800 | [diff] [blame^] | 649 | types of content for any given contact, including large profile photos, stream |
| 650 | items, and recent activity feedback. Recent activity feedback is a standard way for |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 651 | applications to “tag” a contact with common activity, such as when the user |
| 652 | calls the contact or sends an email or SMS message. The social provider uses the |
| 653 | recent activity feedback as a new signal in ranking, such as for name |
| 654 | auto-complete, to keep the most relevant contacts ranked closest to the top.</p> |
| 655 | |
| 656 | <p>Applications can also let users set up a social connection to a contact from |
| 657 | the People app. When the user touches Add Connection in a contact, the app |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 658 | sends a public intent that other apps can handle, displaying any UI needed |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 659 | to create the social connection.</p> |
| 660 | |
| 661 | <p>Building on the social API, developers can add powerful new interactions that |
| 662 | span multiple social networks and contacts sources.</p> |
| 663 | |
| 664 | |
| 665 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Calendar API</strong></p> |
| 666 | |
| 667 | <p>A shared calendar content provider and framework API make it easier for |
| 668 | developers to add calendar services to their apps.</p> |
| 669 | |
| 670 | <p>With user permission, any application can add events to the shared database |
| 671 | and manage dates, attendees, alerts, and reminders. Applications can also read |
| 672 | entries from the database, including events contributed by other applications, |
| 673 | and handle the display of event alerts and reminders. Using the calendar |
| 674 | provider, applications can take advantage of event data sourced from a variety |
| 675 | of apps and protocols, to offer innovative ways of viewing and managing a user’s |
Dirk Dougherty | 9aa41fd | 2011-10-18 20:53:15 -0700 | [diff] [blame] | 676 | events. Apps can also use calendar data to improve the relevance of their |
Dirk Dougherty | 052ab1a | 2011-10-12 15:41:13 -0700 | [diff] [blame] | 677 | other content.</p> |
| 678 | |
| 679 | <p>For lighter-weight access to calendar services, the Calendar app defines a |
| 680 | set of public Intents for creating, viewing, and editing events. Rather than |
| 681 | needing to implement a calendar UI and integrate directly with the calendar |
| 682 | provider, applications can simply broadcast calendar Intents. When the Calendar |
| 683 | app receives the Intents, it launches the appropriate UI and stores any event |
| 684 | data entered. Using calendar Intents, for example, apps can let users add events |
| 685 | directly from lists, dialogs, or home screen widgets, such as for making |
| 686 | restaurant reservations or booking time with friends.</p> |
| 687 | |
| 688 | |
| 689 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Visual voicemail |
| 690 | API</strong></p> |
| 691 | |
| 692 | <p>A shared Voicemail provider and API allow developers to build applications |
| 693 | that contribute to a unified voicemail store. Voicemails are displayed and |
| 694 | played in the call log tab of the platform’s Phone app.</p> |
| 695 | |
| 696 | |
| 697 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam</strong></p> |
| 698 | |
| 699 | <p>Android Beam is an NFC-based feature that lets users instantly share |
| 700 | information about the apps they are using, just by touching two NFC-enabled |
| 701 | phones together. When the devices are in range — within a few centimeters |
| 702 | — the system sets up an NFC connection and displays a sharing UI. To share |
| 703 | whatever they are viewing with the other device, users just touch the screen. |
| 704 | </p> |
| 705 | |
| 706 | <p>For developers, Android Beam is a new way of triggering almost any type of |
| 707 | proximity-based interaction. For example, it can let users instantly exchange |
| 708 | contacts, set up multiplayer gaming, join a chat or video call, share a photo or |
| 709 | video, and more. The system provides the low-level NFC support and the sharing |
| 710 | UI, while the foreground app provides lightweight data to transfer to the other |
| 711 | device. Developers have complete control over the data that is shared and how it |
| 712 | is handled, so almost any interaction is possible. For larger payloads, |
| 713 | developers can even use Android Beam to initiate a connection and transfer the |
| 714 | data over Bluetooth, without the need for user-visible pairing.</p> |
| 715 | |
| 716 | <p>Even if developers do not add custom interactions based on Android Beam they |
| 717 | can still benefit from it being deeply integrated into Android. By default the |
| 718 | system shares the app’s Android Market URL, so it’s easy for the user to |
| 719 | download or purchase the app right away.</p> |
| 720 | |
| 721 | |
| 722 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Modular sharing |
| 723 | widget</strong></p> |
| 724 | |
| 725 | <p>The UI framework includes a new widget, ShareActionProvider, that lets |
| 726 | developers quickly embed standard share functionality and UI in the Action Bar |
| 727 | of their applications. Developers simply add ShareActionProvider to the menu and |
| 728 | set an intent that describes the desired sharing action. The system handles the |
| 729 | rest, building up the list of applications that can handle the share intent and |
| 730 | dispatching the intent when the user chooses from the menu.</p> |
| 731 | |
| 732 | |
| 733 | <h3 id="media-dev">New media capabilities</h3> |
| 734 | |
| 735 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Low-level streaming |
| 736 | multimedia</strong></p> |
| 737 | |
| 738 | <p>Android 4.0 provides a direct, efficient path for low-level streaming |
| 739 | multimedia. The new path is ideal for applications that need to maintain |
| 740 | complete control over media data before passing it to the platform for |
| 741 | presentation. For example, media applications can now retrieve data from any |
| 742 | source, apply proprietary encryption/decryption, and then send the data to the |
| 743 | platform for display.</p> |
| 744 | |
| 745 | <p>Applications can now send processed data to the platform as a multiplexed |
| 746 | stream of audio/video content in MPEG-2 transport stream format. The platform |
| 747 | de-muxes, decodes, and renders the content. The audio track is rendered to the |
| 748 | active audio device, while the video track is rendered to either a Surface or a |
| 749 | SurfaceTexture. When rendering to a SurfaceTexture, the application can apply |
| 750 | subsequent graphics effects to each frame using OpenGL.</p> |
| 751 | |
| 752 | <p>To support this low-level streaming, the platform introduces a new native API |
| 753 | based on <a href="http://www.khronos.org/openmax/al/" target="_top">Khronos |
| 754 | OpenMAX AL 1.0.1</a>. The API is implemented on the same underlying services as |
| 755 | the platform’s existing OpenSL ES API, so developers can make use of both APIs |
| 756 | together if needed. Tools support for low-level streaming multimedia will be |
| 757 | available in an upcoming release of the Android NDK.</p> |
| 758 | |
| 759 | |
| 760 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>New camera |
| 761 | capabilities</strong></p> |
| 762 | |
| 763 | <p>Developers can take advantage of a variety of new camera features in Android |
| 764 | 4.0. ZSL exposure, continuous focus, and image zoom let apps capture better |
| 765 | still and video images, including during video capture. Apps can even capture |
| 766 | full-resolution snapshots while shooting video. Apps can now set custom metering |
| 767 | regions in a camera preview, then manage white balance and exposure dynamically |
| 768 | for those regions. For easier focusing and image processing, a face-detection |
| 769 | service identifies and tracks faces in a preview and returns their screen |
| 770 | coordinates.</p> |
| 771 | |
| 772 | |
| 773 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Media effects for |
| 774 | transforming images and video</strong></p> |
| 775 | |
| 776 | <p>A set of high-performance transformation filters let developers apply rich |
| 777 | effects to any image passed as an OpenGL ES 2.0 texture. Developers can adjust |
| 778 | color levels and brightness, change backgrounds, sharpen, crop, rotate, add lens |
| 779 | distortion, and apply other effects. The transformations are processed by the |
| 780 | GPU, so they are fast enough for processing image frames loaded from disk, |
| 781 | camera, or video stream.</p> |
| 782 | |
| 783 | |
| 784 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Audio remote |
| 785 | controls</strong></p> |
| 786 | |
| 787 | <p>Android 4.0 adds a new audio remote control API that lets media applications |
| 788 | integrate with playback controls that are displayed in a remote view. Media |
| 789 | applications can integrate with a remote music playback control that’s built |
| 790 | into in the platform’s lock screen, allowing users to control song selection and |
| 791 | playback without having to unlock and navigate to the music app.</p> |
| 792 | |
| 793 | <p>Using the audio remote control API, any music or media app can register to |
| 794 | receive media button events from the remote control and then manage play state |
| 795 | accordingly. The application can also supply metadata to the remote control, |
| 796 | such as album art or image, play state, track number and description, duration, |
| 797 | genre, and more.</p> |
| 798 | |
| 799 | |
| 800 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>New media codecs and |
| 801 | containers</strong></p> |
| 802 | |
| 803 | <p>Android 4.0 adds support for additional media types and containers to give |
| 804 | developers access to the formats they need. For high-quality compressed images, |
| 805 | the media framework adds support for WebP content. For video, the framework now |
| 806 | supports streaming VP8 content. For streaming multimedia, the framework supports |
| 807 | HTTP Live streaming protocol version 3 and encoding of ADTS-contained AAC |
| 808 | content. Additionally, developers can now use Matroska containers for Vorbis and |
| 809 | VP8 content.</p> |
| 810 | |
| 811 | |
| 812 | <h3 id="connectivity-dev">New types of connectivity</h3> |
| 813 | |
| 814 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct</strong></p> |
| 815 | |
| 816 | <p>Developers can use a framework API to discover and connect directly to nearby |
| 817 | devices over a high-performance, secure Wi-Fi Direct connection. No internet |
| 818 | connection or hotspot is needed.</p> |
| 819 | |
| 820 | <p>Wi-Fi Direct opens new opportunities for developers to add innovative |
| 821 | features to their applications. Applications can use Wi-Fi Direct to share |
| 822 | files, photos, or other media between devices or between a desktop computer and |
| 823 | an Android-powered device. Applications could also use Wi-Fi Direct to stream |
| 824 | media content from a peer device such as a digital television or audio player, |
| 825 | connect a group of users for gaming, print files, and more.</p> |
| 826 | |
| 827 | |
| 828 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Bluetooth Health Device |
| 829 | Profile (HDP)</strong></p> |
| 830 | |
| 831 | <p>Developers can now build powerful medical applications that use Bluetooth to |
| 832 | communicate with wireless devices and sensors in hospitals, fitness centers, |
| 833 | homes, and elsewhere. Applications can collect and manage data from HDP source |
| 834 | devices and transmit it to backend medical applications such as records systems, |
| 835 | data analysis services, and others.</p> |
| 836 | |
| 837 | <p>Using a framework API, applications can use Bluetooth to discover nearby |
| 838 | devices, establish reliable or streaming data channels, and manage data |
| 839 | transmission. Applications can supply any IEEE 11073 Manager to retrieve and |
| 840 | interpret health data from Continua-certified devices such as heart-rate |
| 841 | monitors, blood meters, thermometers, and scales. </p> |
| 842 | |
| 843 | |
| 844 | <h3 id="uicomp-dev">New UI components and capabilities</h3> |
| 845 | |
| 846 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Layout |
| 847 | enhancements</strong></p> |
| 848 | |
| 849 | <p>A new layout, GridLayout, improves the performance of Android applications by |
| 850 | supporting flatter view hierarchies that are faster to layout and render. |
| 851 | Because hierarchies are flatter, developers can also manage alignments between |
| 852 | components that are visually related to each other even when they are not |
| 853 | logically related, for precise control over application UI. GridLayout is also |
| 854 | specifically designed to be configured by drag-and-drop design tools such as the |
| 855 | ADT Plug-in for Eclipse.</p> |
| 856 | |
| 857 | |
| 858 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>OpenGL ES texture |
| 859 | views</strong></p> |
| 860 | |
| 861 | <p>A new TextureView object lets developers directly integrate OpenGL ES |
| 862 | textures as rendering targets in a UI hierarchy. The object lets developers |
| 863 | display and manipulate OpenGL ES rendering just as they would a normal view |
| 864 | object in the hierarchy, including moving, transforming, and animating the view |
| 865 | as needed. The TextureView object makes it easy for developers to embed camera |
| 866 | preview, decoded video, OpenGL game scenes, and more. TextureView can be viewed |
| 867 | as a more powerful version of the existing SurfaceView object, since it offers |
| 868 | the same benefits of access to a GL rendering surface, with the added advantage |
| 869 | of having that surface participate fully in the normal view hierarchy.</p> |
| 870 | |
| 871 | |
| 872 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Hardware-accelerated 2D |
| 873 | drawing</strong></p> |
| 874 | |
| 875 | <p>All Android-powered devices running Android 4.0 are required to support |
| 876 | hardware-accelerated 2D drawing. Developers can take advantage of this to add |
| 877 | great UI effects while maintaining optimal performance on high-resolution |
| 878 | screens, even on phones. For example, developers can rely on accelerated |
| 879 | scaling, rotation, and other 2D operations, as well as accelerated UI components |
| 880 | such as TextureView and compositing modes such as filtering, blending, and |
| 881 | opacity.</p> |
| 882 | |
| 883 | |
| 884 | <h3 id="input-dev">New input types and text services</h3> |
| 885 | |
| 886 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Stylus input, button |
| 887 | support, hover events</strong></p> |
| 888 | |
| 889 | <p>Android 4.0 includes full support for stylus input events, including tilt and |
| 890 | distance axes, pressure, and related motion event properties. To help |
| 891 | applications distinguish motion events from different sources, the platform adds |
| 892 | distinct tool types for stylus, finger, mouse, and eraser. For improved input |
| 893 | from multi-button pointing devices, the platform now provides distinct primary, |
| 894 | secondary, and tertiary buttons, as well as back and forward buttons. |
| 895 | Hover-enter and hover-exit events are also added, for improved navigation and |
| 896 | accessibility. Developers can build on these new input features to add powerful |
| 897 | interactions to their apps, such as precise drawing and gesturing, handwriting |
| 898 | and shape recognition, improved mouse input, and others.</p> |
| 899 | |
| 900 | |
| 901 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text services API for |
| 902 | integrating spelling checkers</strong></p> |
| 903 | |
| 904 | <p>Android 4.0 lets applications query available text services such as |
| 905 | dictionaries and spell checkers for word suggestions, corrections, and similar |
| 906 | data. The text services are external to the active IME, so developers can create |
| 907 | and distribute dictionaries and suggestion engines that plug into the platform. |
| 908 | When an application receives results from a text service — for example, |
| 909 | word suggestions — it can display them in a dedicated suggestion popup |
| 910 | window directly inside the text view, rather than relying on the IME to display |
| 911 | them. </p> |
| 912 | |
| 913 | |
| 914 | <h3 id="accessibility-dev">Enhanced accessibility APIs</h3> |
| 915 | |
| 916 | <p>Android 4.0 adds new accessibility features and an enhanced API to let |
| 917 | developers improve the user experience in their apps, especially on devices that |
| 918 | don’t have hardware buttons. For accessibility services such as screen readers |
| 919 | in particular, the platform offers new APIs to query window content, for easier |
| 920 | navigation, better feedback, and richer user interfaces.</p> |
| 921 | |
| 922 | |
| 923 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Accessibility |
| 924 | API</strong></p> |
| 925 | |
| 926 | <p>To let applications manage interactions more effectively when accessibility |
| 927 | features are enabled, the platform adds accessibility events for |
| 928 | explore-by-touch mode, scrolling, and text selection. For these and other |
| 929 | events, the platform can attach a new object called an accessibility record that |
| 930 | provides extra information about the event context.</p> |
| 931 | |
| 932 | <p>Using the accessibility record and related APIs, applications can now access |
| 933 | the view hierarchy associated with an event. Applications can query for key |
| 934 | properties such as parent and child nodes, available states, supported actions, |
| 935 | screen position, and more. Applications can also request changes to certain |
| 936 | properties to help manage focus and selected state. For example, an |
| 937 | accessibility service could use these new capabilities to add convenient |
| 938 | features such as screen-search by text. </p> |
| 939 | |
| 940 | |
| 941 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text-to-speech |
| 942 | API</strong></p> |
| 943 | |
| 944 | <p>A new framework API lets developers write text-to-speech engines and make |
| 945 | them available to any app requesting TTS capabilities.</p> |
| 946 | |
| 947 | |
| 948 | <h3 id="data-dev">Efficient network usage</h3> |
| 949 | |
| 950 | <p>In Android 4.0, users can see how much network data their running apps are |
| 951 | using. They can also set limits on data usage by network type and disable |
| 952 | background data usage for specific applications. In this context, developers |
| 953 | need to design their apps to run efficiently and follow best practices for |
| 954 | checking the network connection. Android 4.0 provides network APIs to let |
| 955 | applications meet those goals.</p> |
| 956 | |
| 957 | <p>As users move between networks or set limits on network data, the platform |
| 958 | lets applications query for connection type and availability. Developers can use |
| 959 | this information to dynamically manage network requests to ensure the best |
| 960 | experience for users. Developers can also build custom network and data-usage |
| 961 | options into their apps, then expose them to users directly from Settings by |
| 962 | means of a new system Intent.</p> |
| 963 | |
| 964 | |
| 965 | <h3 id="security-dev">Security for apps and content</h3> |
| 966 | |
| 967 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Secure management of |
| 968 | credentials</strong></p> |
| 969 | |
| 970 | <p>Android 4.0 makes it easier for applications to manage authentication and |
| 971 | secure sessions. A new keychain API and underlying encrypted storage let |
| 972 | applications store and retrieve private keys and their corresponding certificate |
| 973 | chains. Any application can use the keychain API to install and store user |
| 974 | certificates and CAs securely.</p> |
| 975 | |
| 976 | |
| 977 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Address Space Layout |
| 978 | Randomization</strong></p> |
| 979 | |
| 980 | <p>Android 4.0 now provides address space layout randomization (ASLR) to help |
| 981 | protect system and third party applications from exploitation due to |
| 982 | memory-management issues.</p> |
| 983 | |
| 984 | |
| 985 | <h3 id="enterprise-dev">Enhancements for Enterprise</h3> |
| 986 | |
| 987 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>VPN client |
| 988 | API</strong></p> |
| 989 | |
| 990 | <p>Developers can now build or extend their own VPN solutions on the platform |
| 991 | using a new VPN API and underlying secure credential storage. With user |
| 992 | permission, applications can configure addresses and routing rules, process |
| 993 | outgoing and incoming packets, and establish secure tunnels to a remote server. |
| 994 | Enterprises can also take advantage of a standard VPN client built into the |
| 995 | platform that provides access to L2TP and IPSec protocols.</p> |
| 996 | |
| 997 | |
| 998 | <p style="margin-top:1em;margin-bottom:.75em;"><strong>Device policy management |
| 999 | for camera</strong></p> |
| 1000 | |
| 1001 | <p>The platform adds a new policy control for administrators who manage devices |
| 1002 | using an installed Device Policy Manager. Administrators can now remotely |
| 1003 | disable the camera on a managed device for users working in sensitive |
| 1004 | environments.</p> |
| 1005 | |
| 1006 | |
| 1007 | |
| 1008 | |
| 1009 | |