1 page.title=Android 2.1 Platform 2 sdk.platform.version=2.1 3 sdk.platform.apiLevel=7 4 sdk.platform.majorMinor=minor 5 6 @jd:body 7 8 <div id="qv-wrapper"> 9 <div id="qv"> 10 11 <h2>In this document</h2> 12 <ol> 13 <li><a href="#features">Platform Highlights</a></li> 14 <li><a href="#relnotes">Revisions</a></li> 15 <li><a href="#api-level">API Level</a></li> 16 <li><a href="#api">Framework API Changes</a> 17 <li><a href="#apps">Built-in Applications</a></li> 18 <li><a href="#locs">Locales</a></li> 19 <li><a href="#skins">Emulator Skins</a></li> 20 21 </ol> 22 </li> 23 </ol> 24 25 <h2>Reference</h2> 26 <ol> 27 <li><a 28 href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API 29 Differences Report »</a> </li> 30 </ol> 31 32 <h2>See Also</h2> 33 <ol> 34 <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li> 35 </ol> 36 37 </div> 38 </div> 39 40 <p> 41 <em>API Level:</em> <strong>{@sdkPlatformApiLevel}</strong></p> 42 43 <p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release 44 deployable to Android-powered handsets starting in January 2010. 45 This release includes new API 46 changes and bug fixes. For information on changes, see the <a href="#api">Framework API</a> 47 section.</p> 48 49 <p>For developers, the Android {@sdkPlatformVersion} platform is available as a 50 downloadable component for the Android SDK. The downloadable platform includes a 51 fully compliant Android library and system image, as well as a set of emulator 52 skins, sample applications, and more. The downloadable platform 53 includes no external libraries. </p> 54 55 <p>To get started developing or testing against the Android 56 {@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to 57 download the platform into your SDK. For more information, 58 see <a href="{@docRoot}sdk/adding-components.html">Adding SDK 59 Components</a>.</p> 60 61 62 <h2 id="features">Platform Highlights</h2> 63 64 <p>Android {@sdkPlatformVersion} does not add significant user features, see the <a 65 href="http://developer.android.com/sdk/android-2.0-highlights.html">Android 66 2.0 Platform Highlights</a> document for the latest user features.</p> 67 68 <h2 id="relnotes">Revisions</h2> 69 70 <p>The sections below provide notes about successive releases of 71 the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by 72 revision number. To determine what revision(s) of the Android 73 {@sdkPlatformVersion} platforms are installed in your SDK environment, refer to 74 the "Installed Packages" listing in the Android SDK and AVD Manager.</p> 75 76 77 <div class="toggle-content opened" style="padding-left:1em;"> 78 79 <p><a href="#" onclick="return toggleContent(this)"> 80 <img src="{@docRoot}assets/images/triangle-opened.png" 81 class="toggle-content-img" alt="" /> 82 Android {@sdkPlatformVersion}, Revision 3</a> <em>(July 2011)</em> 83 </a></p> 84 85 <div class="toggle-content-toggleme" style="padding-left:2em;"> 86 87 <dl> 88 <dt>Dependencies:</dt> 89 <dd> 90 <p>Requires <a href="{@docRoot}sdk/tools-notes.html">SDK Tools r12</a> or 91 higher.</p> 92 </dd> 93 <dt>Notes:</dt> 94 <dd> 95 <p>Improvements to the platform's rendering library to support the visual layout editor in the ADT 96 Eclipse plugin. This revision allows for more drawing features in ADT and fixes several 97 bugs in the previous rendering library. It also unlocks several editor features that were added in 98 ADT 12.</p> 99 </dd> 100 </dl> 101 102 </div> 103 </div> 104 105 <div class="toggle-content closed" style="padding-left:1em;"> 106 107 <p><a href="#" onclick="return toggleContent(this)"> 108 <img src="{@docRoot}assets/images/triangle-closed.png" 109 class="toggle-content-img" alt="" /> 110 Android {@sdkPlatformVersion}, Revision 2</a> <em>(May 2010)</em> 111 </a></p> 112 113 <div class="toggle-content-toggleme" style="padding-left:2em;"> 114 <dl> 115 <dt>Dependencies:</dt> 116 <dd> 117 <p>Requires SDK Tools r6 or higher.</p> 118 </dd> 119 120 <dt>Tools:</dt> 121 <dd> 122 <ul> 123 <li>Adds support for library projects in the Ant build system.</li> 124 <li>Adds improved layout rendering in ADTs visual layout editor.</li> 125 </ul> 126 </dd> 127 128 </dl> 129 </div> 130 </div> 131 132 <div class="toggle-content closed" style="padding-left:1em;"> 133 134 <p><a href="#" onclick="return toggleContent(this)"> 135 <img src="{@docRoot}assets/images/triangle-closed.png" 136 class="toggle-content-img" alt="" /> 137 Android {@sdkPlatformVersion}, Revision 1</a> <em>(January 2010)</em> 138 </a></p> 139 140 <div class="toggle-content-toggleme" style="padding-left:2em;"> 141 <dl> 142 <dt>Dependencies:</dt> 143 <dd> 144 <p>Requires SDK Tools r4 or higher.</p> 145 </dd> 146 </dl> 147 </div> 148 </div> 149 150 151 <h2 id="api-level">API Level</h2> 152 153 <p>The Android {@sdkPlatformVersion} platform delivers an updated version of 154 the framework API. The Android {@sdkPlatformVersion} API 155 is assigned an integer identifier — 156 <strong>{@sdkPlatformApiLevel}</strong> — that is 157 stored in the system itself. This identifier, called the "API Level", allows the 158 system to correctly determine whether an application is compatible with 159 the system, prior to installing the application. </p> 160 161 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your 162 application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the 163 <code>android:minSdkVersion</code> attributes of the <code><uses-sdk></code> 164 element in your application's manifest. </p> 165 166 <p>For more information about how to use API Level, see the <a 167 href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p> 168 169 170 <h2 id="api">Framework API Changes</h2> 171 172 <p>The sections below provide information about changes made to the application 173 framework API provided by the Android {@sdkPlatformVersion} platform.</p> 174 175 <h3>Live Wallpapers</h3> 176 177 <p>The following additions provide APIs for you to develop animated wallpapers:</p> 178 <ul> 179 <li>New {@link android.service.wallpaper} package.</li> 180 <li>New {@link android.app.WallpaperInfo} class.</li> 181 <li>Updated {@link android.app.WallpaperManager}.</li> 182 </ul> 183 184 <p>Additionally, if your application uses or provides Live Wallpapers, you must 185 remember to add a <a 186 href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> 187 element to the application's manifest, declaring the attribute 188 <code>android:name="android.software.live_wallpaper"</code>. For example:</p> 189 190 <pre class="no-pretty-print"> 191 <uses-feature android:name="android.software.live_wallpaper" /> 192 </pre> 193 194 <p>When you've published your application, Android Market checks for the 195 presence of this element and uses it as a filter, ensuring that your application 196 is not made available to users whose devices do not support Live Wallpapers. 197 </p> 198 199 <h3>Telephony</h3> 200 201 <ul> 202 <li>New {@link android.telephony.SignalStrength} class provides information 203 about the device's current network signal. This can be acquired from the 204 new {@link 205 android.telephony.PhoneStateListener#onSignalStrengthsChanged(SignalStrength)} 206 callback.</li> 207 208 <li>New {@link 209 android.telephony.PhoneStateListener#onDataConnectionStateChanged(int,int)} 210 callback.</li> 211 </ul> 212 213 <h3>Views</h3> 214 215 <ul> 216 <li>New {@link android.view.View} methods {@link android.view.View#isOpaque()} 217 and {@link android.view.View#onDrawScrollBars(Canvas)}.</li> 218 219 <li>New {@link android.widget.RemoteViews} methods {@link 220 android.widget.RemoteViews#addView(int,RemoteViews)} and {@link 221 android.widget.RemoteViews#removeAllViews(int)}.</li> 222 223 <li>New {@link android.view.ViewGroup} methods {@link 224 android.view.ViewGroup#isChildrenDrawingOrderEnabled()} and {@link 225 android.view.ViewGroup#setChildrenDrawingOrderEnabled(boolean)}.</li> 226 </ul> 227 228 <h3>WebKit</h3> 229 230 <ul> 231 <li>New {@link android.webkit.WebStorage} methods to manipulate web 232 storage databases.</li> 233 234 <li>New {@link android.webkit.GeolocationPermissions} methods to 235 get Geolocation permissions from, and set them on the WebView.</li> 236 237 <li>New {@link android.webkit.WebSettings} methods to manage settings for 238 app cache, web storage, and zooming based on screen density.</li> 239 240 <li>New {@link android.webkit.WebChromeClient} methods for handling video, 241 browsing history, custom Views, app cache limits, and more.</li> 242 </ul> 243 244 </ul> 245 246 <!-- 247 <h3 id="behavior-changes">Behavior changes</h3> 248 249 <h3 id="bug-fixes">Bug fixes</h3> 250 --> 251 252 <h3 id="api-diff">API differences report</h3> 253 254 <p>For a detailed view of all API changes in Android {@sdkPlatformVersion} (API 255 Level {@sdkPlatformApiLevel}), as compared to API Level 6, see the <a 256 href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API 257 Differences Report</a>.</p> 258 259 <h2 id="apps">Built-in Applications</h2> 260 261 <p>The system image included in the downloadable platform provides these 262 built-in applications:</p> 263 264 <table style="border:0;padding-bottom:0;margin-bottom:0;"> 265 <tr> 266 <td style="border:0;padding-bottom:0;margin-bottom:0;"> 267 <ul> 268 <li>Alarm Clock</li> 269 <li>Browser</li> 270 <li>Calculator</li> 271 <li>Camera</li> 272 <li>Contacts</li> 273 <li>Custom Locale (developer app)</li> 274 <li>Dev Tools (developer app)</li> 275 <li>Email</li> 276 </ul> 277 </td> 278 <td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;"> 279 <ul> 280 281 <li>Gallery</li> 282 <li>IMEs for Japanese, Chinese, and Latin text input</li> 283 <li>Messaging</li> 284 <li>Music</li> 285 <li>Phone</li> 286 <li>Settings</li> 287 <li>Spare Parts (developer app)</li> 288 </ul> 289 </td> 290 </tr> 291 </table> 292 293 294 <h2 id="locs" style="margin-top:.75em;">Locales</h2> 295 296 <p>The system image included in the downloadable platform provides a variety of 297 built-in locales. In some cases, region-specific strings are available for the 298 locales. In other cases, a default version of the language is used. The 299 languages that are available in the Android {@sdkPlatformVersion} system 300 image are listed below (with <em>language</em>_<em>country/region</em> locale 301 descriptor).</p> 302 303 <table style="border:0;padding-bottom:0;margin-bottom:0;"> 304 <tr> 305 <td style="border:0;padding-bottom:0;margin-bottom:0;"> 306 <ul> 307 <li>Chinese, PRC (zh_CN)</li> 308 <li>Chinese, Taiwan (zh_TW)</li> 309 <li>Czech (cs_CZ)</li> 310 <li>Dutch, Netherlands (nl_NL)</li> 311 <li>Dutch, Belgium (nl_BE)</li> 312 <li>English, US (en_US)</li> 313 <li>English, Britain (en_GB)</li> 314 <li>English, Canada (en_CA)</li> 315 <li>English, Australia (en_AU)</li> 316 <li>English, New Zealand (en_NZ)</li> 317 <li>English, Singapore(en_SG)</li> 318 <li>French, France (fr_FR)</li> 319 <li>French, Belgium (fr_BE)</li> 320 </ul> 321 </td> 322 <td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;"> 323 <li>French, Canada (fr_CA)</li> 324 <li>French, Switzerland (fr_CH)</li> 325 <li>German, Germany (de_DE)</li> 326 <li>German, Austria (de_AT)</li> 327 <li>German, Switzerland (de_CH)</li> 328 <li>German, Liechtenstein (de_LI)</li> 329 <li>Italian, Italy (it_IT)</li> 330 <li>Italian, Switzerland (it_CH)</li> 331 <li>Japanese (ja_JP)</li> 332 <li>Korean (ko_KR)</li> 333 <li>Polish (pl_PL)</li> 334 <li>Russian (ru_RU)</li> 335 <li>Spanish (es_ES)</li> 336 </td> 337 </tr> 338 </table> 339 340 <p>Localized UI strings match the locales that are accessible 341 through Settings.</p> 342 343 <h2 id="skins">Emulator Skins</h2> 344 345 <p>The downloadable platform includes a set of emulator skins that you can use 346 for modeling your application in different screen sizes and resolutions. The 347 emulator skins are:</p> 348 349 <ul> 350 <li> 351 QVGA (240x320, low density, small screen) 352 </li> 353 <li> 354 WQVGA (240x400, low density, normal screen) 355 </li> 356 <li> 357 FWQVGA (240x432, low density, normal screen) 358 </li> 359 <li> 360 HVGA (320x480, medium density, normal screen) 361 </li> 362 <li> 363 WVGA800 (480x800, high density, normal screen) 364 </li> 365 <li> 366 WVGA854 (480x854 high density, normal screen) 367 </li> 368 </ul> 369 370 <p>For more information about how to develop an application that displays 371 and functions properly on all Android-powered devices, see <a 372 href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple 373 Screens</a>.</p> 374