1page.title=Android 2.0.1, Release 1 2sdk.platform.version=2.0.1 3sdk.platform.apiLevel=6 4sdk.platform.majorMinor=minor 5sdk.platform.releaseDate=December 2009 6sdk.platform.deployableDate=December 2009 7 8@jd:body 9 10<div id="qv-wrapper"> 11<div id="qv"> 12 13 <h2>In this document</h2> 14 <ol> 15 <li><a href="#features">Platform Highlights</a></li> 16 <li><a href="#apps">Built-in Applications</a></li> 17 <li><a href="#locs">Locales</a></li> 18 <li><a href="#skins">Emulator Skins</a></li> 19 <li><a href="#dev-features">Developer Features</a></li> 20 <li><a href="#api">Framework API</a> 21 <ol> 22 <li><a href="#api-level">API level</a></li> 23 <li><a href="#api-changes">API changes summary</a></li> 24 <li><a href="#behavior-changes">Behavior changes</a></li> 25 <li><a href="#bug-fixes">Bug fixes</a></li> 26 <li><a 27href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API 28differences report »</a> </li> 29 </ol> 30 </li> 31 </ol> 32 33 <h2>See Also</h2> 34 <ol> 35 <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li> 36 </ol> 37 38</div> 39</div> 40 41<p> 42<em>Date:</em> {@sdkPlatformReleaseDate}<br /> 43<em>API Level:</em> <strong>{@sdkPlatformApiLevel}</strong></p> 44 45<p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release 46deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}. 47This release includes minor API 48changes, bug fixes and framework behavioral changes. For information on changes 49and fixes, see the <a href="#api">Framework API</a> section.</p> 50 51<p>For developers, the Android {@sdkPlatformVersion} platform is available as a 52downloadable component for the Android SDK. The downloadable platform includes a 53fully compliant Android library and system image, as well as a set of emulator 54skins, sample applications, and more. The downloadable platform 55includes no external libraries. </p> 56 57<p>To get started developing or testing against the Android 58{@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to 59download the platform into your Android 1.6 or later SDK. For more information, 60see <a href="{@docRoot}sdk/adding-components.html">Adding SDK 61Components</a>.</p> 62 63 64<h2 id="features">Platform Highlights</h2> 65 66<p>For a list of new user features and platform highlights, see the <a 67href="http://developer.android.com/sdk/android-2.0-highlights.html">Android 682.0 Platform Highlights</a> document.</p> 69 70<h2 id="apps">Built-in Applications</h2> 71 72<p>The system image included in the downloadable platform provides these 73built-in applications:</p> 74 75<table style="border:0;padding-bottom:0;margin-bottom:0;"> 76<tr> 77<td style="border:0;padding-bottom:0;margin-bottom:0;"> 78 <ul> 79 <li>Alarm Clock</li> 80 <li>Browser</li> 81 <li>Calculator</li> 82 <li>Camcorder</li> 83 <li>Camera</li> 84 <li>Contacts</li> 85 <li>Custom Locale (developer app)</li> 86 <li>Dev Tools (developer app)</li> 87 <li>Dialer</li> 88 </ul> 89</td> 90<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;"> 91 <ul> 92 <li>Email</li> 93 <li>Gallery</li> 94 <li>Gestures Builder</li> 95 <li>IME for Japanese text input</li> 96 <li>Messaging</li> 97 <li>Music</li> 98 <li>Settings</li> 99 <li>Spare Parts (developer app)</li> 100 </ul> 101</td> 102</tr> 103</table> 104 105<p><span class="new">New with 2.0.1</span> The Dev Tools app now 106includes a "Sync Tester" application to provide quick and easy testing of 107third-party sync adapters.</p> 108 109<h2 id="locs" style="margin-top:.75em;">Locales</h2> 110 111<p>The system image included in the downloadable platform provides a variety of 112built-in locales. In some cases, region-specific strings are available for the 113locales. In other cases, a default version of the language is used. The 114languages that are available in the Android {@sdkPlatformVersion} system 115image are listed below (with <em>language</em>_<em>country/region</em> locale 116descriptor).</p> 117 118<table style="border:0;padding-bottom:0;margin-bottom:0;"> 119<tr> 120<td style="border:0;padding-bottom:0;margin-bottom:0;"> 121<ul> 122<li>Chinese, PRC (zh_CN)</li> 123<li>Chinese, Taiwan (zh_TW)</li> 124<li>Czech (cs_CZ)</li> 125<li>Dutch, Netherlands (nl_NL)</li> 126<li>Dutch, Belgium (nl_BE)</li> 127<li>English, US (en_US)</li> 128<li>English, Britain (en_GB)</li> 129<li>English, Canada (en_CA)</li> 130<li>English, Australia (en_AU)</li> 131<li>English, New Zealand (en_NZ)</li> 132<li>English, Singapore(en_SG)</li> 133<li>French, France (fr_FR)</li> 134<li>French, Belgium (fr_BE)</li> 135</ul> 136</td> 137<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;"> 138<li>French, Canada (fr_CA)</li> 139<li>French, Switzerland (fr_CH)</li> 140<li>German, Germany (de_DE)</li> 141<li>German, Austria (de_AT)</li> 142<li>German, Switzerland (de_CH)</li> 143<li>German, Liechtenstein (de_LI)</li> 144<li>Italian, Italy (it_IT)</li> 145<li>Italian, Switzerland (it_CH)</li> 146<li>Japanese (ja_JP)</li> 147<li>Korean (ko_KR)</li> 148<li>Polish (pl_PL)</li> 149<li>Russian (ru_RU)</li> 150<li>Spanish (es_ES)</li> 151</td> 152</tr> 153</table> 154 155<p>Localized UI strings match the locales that are accessible 156through Settings.</p> 157 158<h2 id="skins">Emulator Skins</h2> 159 160<p>The downloadable platform includes a set of emulator skins that you can use for modeling your application in different screen sizes and resolutions. The emulator skins are: </p> 161 162<ul> 163 <li> 164 QVGA (240x320, low density, small screen) 165 </li> 166 <li> 167 WQVGA (240x400, low density, normal screen) 168 </li> 169 <li> 170 FWQVGA (240x432, low density, normal screen) 171 </li> 172 <li> 173 HVGA (320x480, medium density, normal screen) 174 </li> 175 <li> 176 WVGA800 (480x800, high density, normal screen) 177 </li> 178 <li> 179 WVGA854 (480x854 high density, normal screen) 180 </li> 181</ul> 182 183<p>For more information about how to develop an application that displays and functions properly on all Android-powered devices, see <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a>.</p> 184 185<h2 id="dev-features">Developer Features</h2> 186 187<p>The sections below provide information about new developer features offered by the downloadable Android 2.0 platform component.</p> 188 189<h3 id="ant">Ant Support</h3> 190 191<ul> 192<li>Debug- and release-mode application signing. Release-mode signing includes integrated support for <code>zipalign</code> optimization. For more information, see <a href="{@docRoot}guide/publishing/app-signing.html#releasecompile">Signing Your Applications</a>.</li> 193 194<li>Adds new Ant build system with support for Emma instrumentation projects (code coverage).</li> 195</ul> 196 197<h2 id="api">Framework API</h2> 198 199<p>The sections below provide information about changes made to the application 200framework API provided by the Android {@sdkPlatformVersion} platform. Note, 201however, that Android 2.0.1 is a minor release to Android 2.0, so for more 202information about the changes made to in Android 2.0, please refer to the 203<a href="{@docRoot}sdk/android-2.0.html#api">Android 2.0 version notes</a>.</p> 204 205 206<h3 id="api-level">API level</h3> 207 208<p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework 209API. The Android {@sdkPlatformVersion} API 210is assigned an integer identifier — <strong>{@sdkPlatformApiLevel}</strong> — that is 211stored in the system itself. This identifier, called the "API Level", allows the 212system to correctly determine whether an application is compatible with 213the system, prior to installing the application. </p> 214 215<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 216set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code><uses-sdk></code> 217element in your application's manifest. </p> 218 219<p>For more information about how to use API Level, see the <a 220href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p> 221 222 223<h3 id="api-changes">API changes summary</h3> 224 225<p>The following is a summary of changes to the framework APIs.</p> 226 227<ul> 228<li>New {@code quickContactBadgeStyle*} attributes that let 229applications apply necessary styles to the {@link 230android.widget.QuickContactBadge} widget.</li> 231 232<li>Remove support for the {@link 233android.content.Intent#ACTION_CONFIGURATION_CHANGED} broadcast when declared as 234a filter in the manifest. To receive this broadcast, an application must 235do so from the application at run-time, with {@link 236android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter)}.</li> 237</ul> 238 239<h3 id="behavior-changes">Behavior changes</h3> 240 241<p>The following is a summary of changes that affect the behavior of some 242framework APIs but do not add or remove API functionality.</p> 243 244<h4>Bluetooth</h4> 245 246<p>Changes to the values returned by {@link 247android.bluetooth.BluetoothAdapter#ACTION_REQUEST_ENABLE} and 248{@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_DISCOVERABLE}:</p> 249 250<ul> 251<li>{@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_ENABLE} now 252returns {@link android.app.Activity#RESULT_OK} if Bluetooth was successfully 253enabled and {@link android.app.Activity#RESULT_CANCELED} if the user rejected 254the request to enable Bluetooth, rather than 0 and -1 (or -2), 255respectively.</li> 256 257<li>{@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_DISCOVERABLE} 258now returns {@link android.app.Activity#RESULT_CANCELED} if the user rejected 259the request to enable discoverability or if Bluetooth is not enabled, rather 260than -1 and -2, respectively.</li> 261</ul> 262 263<h4>Contacts</h4> 264 265<p>The {@link android.content.Intent#ACTION_INSERT} Intent now returns {@link 266android.app.Activity#RESULT_CANCELED} in cases where the contact was not 267persisted (for example, if the save was trimmed to a no-op).</p> 268 269 270<h3 id="bug-fixes">Bug fixes</h3> 271 272<p>The following is a summary of bug fixes that affect some framework APIs.</p> 273 274<h4>Resources</h4> 275 276<p>The framework now correctly selects application resources in project 277folders that use the API Level qualifier. For example, {@code drawable-v4/} is a 278folder of drawable resources for API Level 4 (or higher) devices. This version 279matching did not work properly and has been fixed.</p> 280 281<h4>Contacts</h4> 282 283<p>The {@link android.content.Intent#ACTION_INSERT} Intent now returns the 284appropriate kind of URI when the request is made using the (now 285deprecated) {@link android.provider.Contacts} APIs.</p> 286 287<h4>Other Framework fixes</h4> 288 289<ul> 290<li>{@link android.content.res.Resources#getDisplayMetrics()} now properly 291reports the screen DPI for the Verizon Droid.</li> 292<li>{@link android.app.Activity#getCallingPackage()} now properly reports the 293package name, rather than the process name.</li> 294</ul> 295 296 297<h3 id="api-diff">API differences report</h3> 298 299<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to 300API Level 5, see the <a 301href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API 302Differences Report</a>. Note that this difference report compares only to 303the most recent API Level, and there are few changes, so to see changes 304introduces in Android 2.0 (API Level 5), see the <a 305href="{@docRoot}sdk/api_diff/5/changes.html">API 306Differences between 4 and 5</a>.</p> 307 308