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