Home | History | Annotate | Download | only in versions
      1 page.title=Android 2.0.1, Release 1
      2 excludeFromSuggestions=true
      3 sdk.platform.version=2.0.1
      4 sdk.platform.apiLevel=6
      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="#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
     27 href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
     28 differences report &raquo;</a> </li>
     29     </ol>
     30   </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 
     43 <em>API Level:</em>&nbsp;<strong>{@sdkPlatformApiLevel}</strong></p>
     44 
     45 <p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release
     46 deployable to Android-powered handsets starting in December 2009.
     47 This release includes minor API
     48 changes, bug fixes and framework behavioral changes. For information on changes
     49 and fixes, see the <a href="#api">Framework API</a> section.</p>
     50 
     51 <p>For developers, the Android {@sdkPlatformVersion} platform is available as a
     52 downloadable component for the Android SDK. The downloadable platform includes a
     53 fully compliant Android library and system image, as well as a set of emulator
     54 skins, sample applications, and more. The downloadable platform
     55 includes 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
     59 download the platform into your Android 1.6 or later SDK. For more information,
     60 see <a href="{@docRoot}sdk/exploring.html">Exploring the
     61 SDK</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
     67 href="http://developer.android.com/about/versions/android-2.0-highlights.html">Android
     68 2.0 Platform Highlights</a> document.</p>
     69 
     70 <h2 id="relnotes">Revisions</h2>
     71 
     72 <p>The sections below provide notes about successive releases of
     73 the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by
     74 revision number. To determine what revision(s) of the Android
     75 {@sdkPlatformVersion} platforms are installed in your SDK environment, refer to
     76 the "Installed Packages" listing in the Android SDK and AVD Manager.</p>
     77 
     78 <script type="text/javascript">
     79 function toggleDiv(link) {
     80   var toggleable = $(link).parent();
     81   if (toggleable.hasClass("closed")) {
     82     //$(".toggleme", toggleable).slideDown("fast");
     83     toggleable.removeClass("closed");
     84     toggleable.addClass("open");
     85     $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/triangle-opened.png"));
     86   } else {
     87     //$(".toggleme", toggleable).slideUp("fast");
     88     toggleable.removeClass("open");
     89     toggleable.addClass("closed");
     90     $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/triangle-closed.png"));
     91   }
     92   return false;
     93 }
     94 </script>
     95 <style>
     96 .toggleable {
     97 padding: .25em 1em;
     98 }
     99 .toggleme {
    100   padding: 1em 1em 0 2em;
    101   line-height:1em;
    102 }
    103 .toggleable a {
    104   text-decoration:none;
    105 }
    106 .toggleable.closed .toggleme {
    107   display:none;
    108 }
    109 #jd-content .toggle-img {
    110   margin:0;
    111 }
    112 </style>
    113 
    114 <div class="toggleable closed">
    115   <a href="#" onclick="return toggleDiv(this)">
    116         <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
    117         Android 2.0.1, Revision 1</a> <em>(December 2009)</em></a>
    118   <div class="toggleme">
    119 <dl>
    120 <dt>Dependencies:</dt>
    121 <dd>
    122 <p>Requires SDK Tools r4 or higher.</p>
    123 </dd>
    124 </dl>
    125  </div>
    126 </div>
    127 
    128 <h2 id="apps">Built-in Applications</h2>
    129 
    130 <p>The system image included in the downloadable platform provides these
    131 built-in applications:</p>
    132 
    133 <table style="border:0;padding-bottom:0;margin-bottom:0;">
    134 <tr>
    135 <td style="border:0;padding-bottom:0;margin-bottom:0;">
    136 	<ul>
    137 	<li>Alarm Clock</li>
    138 	<li>Browser</li>
    139 	<li>Calculator</li>
    140 	<li>Camcorder</li>
    141 	<li>Camera</li>
    142 	<li>Contacts</li>
    143 	<li>Custom Locale (developer app)</li>
    144 	<li>Dev Tools (developer app)</li>
    145 	<li>Dialer</li>
    146 	</ul>
    147 </td>
    148 <td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
    149 	<ul>
    150 	<li>Email</li>
    151 	<li>Gallery</li>
    152 	<li>Gestures Builder</li>
    153 	<li>IME for Japanese text input</li>
    154 	<li>Messaging</li>
    155 	<li>Music</li>
    156 	<li>Settings</li>
    157 	<li>Spare Parts (developer app)</li>
    158 	</ul>
    159 </td>
    160 </tr>
    161 </table>
    162 
    163 <p><span class="new">New with 2.0.1</span> The Dev Tools app now
    164 includes a "Sync Tester" application to provide quick and easy testing of
    165 third-party sync adapters.</p>
    166 
    167 <h2 id="locs" style="margin-top:.75em;">Locales</h2>
    168 
    169 <p>The system image included in the downloadable platform provides a variety of
    170 built-in locales. In some cases, region-specific strings are available for the
    171 locales. In other cases, a default version of the language is used. The
    172 languages that are available in the Android {@sdkPlatformVersion} system 
    173 image are listed below (with <em>language</em>_<em>country/region</em> locale 
    174 descriptor).</p>
    175 
    176 <table style="border:0;padding-bottom:0;margin-bottom:0;">
    177 <tr>
    178 <td style="border:0;padding-bottom:0;margin-bottom:0;">
    179 <ul>
    180 <li>Chinese, PRC (zh_CN)</li>
    181 <li>Chinese, Taiwan (zh_TW)</li>
    182 <li>Czech (cs_CZ)</li>
    183 <li>Dutch, Netherlands (nl_NL)</li>
    184 <li>Dutch, Belgium (nl_BE)</li>
    185 <li>English, US (en_US)</li>
    186 <li>English, Britain (en_GB)</li>
    187 <li>English, Canada (en_CA)</li>
    188 <li>English, Australia (en_AU)</li>
    189 <li>English, New Zealand (en_NZ)</li>
    190 <li>English, Singapore(en_SG)</li>
    191 <li>French, France (fr_FR)</li>
    192 <li>French, Belgium (fr_BE)</li>
    193 </ul>
    194 </td>
    195 <td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
    196 <li>French, Canada (fr_CA)</li>
    197 <li>French, Switzerland (fr_CH)</li>
    198 <li>German, Germany (de_DE)</li>
    199 <li>German, Austria (de_AT)</li>
    200 <li>German, Switzerland (de_CH)</li>
    201 <li>German, Liechtenstein (de_LI)</li>
    202 <li>Italian, Italy (it_IT)</li>
    203 <li>Italian, Switzerland (it_CH)</li>
    204 <li>Japanese (ja_JP)</li>
    205 <li>Korean (ko_KR)</li>
    206 <li>Polish (pl_PL)</li>
    207 <li>Russian (ru_RU)</li>
    208 <li>Spanish (es_ES)</li>
    209 </td>
    210 </tr>
    211 </table>
    212 
    213 <p>Localized UI strings match the locales that are accessible 
    214 through Settings.</p>
    215 
    216 <h2 id="skins">Emulator Skins</h2>
    217 
    218 <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>
    219 
    220 <ul>
    221   <li>
    222     QVGA (240x320, low density, small screen)
    223   </li>
    224   <li>
    225     WQVGA (240x400, low density, normal screen)
    226   </li>
    227   <li>
    228     FWQVGA (240x432, low density, normal screen)
    229   </li>
    230   <li>
    231     HVGA (320x480, medium density, normal screen)
    232   </li>
    233   <li>
    234     WVGA800 (480x800, high density, normal screen)
    235   </li>
    236   <li>
    237     WVGA854 (480x854 high density, normal screen)
    238   </li>
    239 </ul>
    240 
    241 <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>
    242 
    243 <h2 id="dev-features">Developer Features</h2>
    244 
    245 <p>The sections below provide information about new developer features offered by the downloadable Android 2.0 platform component.</p>
    246 
    247 <h3 id="ant">Ant Support</h3>
    248 
    249 <ul>
    250 <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}tools/publishing/app-signing.html#releasecompile">Signing Your Applications</a>.</li>
    251 
    252 <li>Adds new Ant build system with support for Emma instrumentation projects (code coverage).</li>
    253 </ul>
    254 
    255 <h2 id="api">Framework API</h2>
    256 
    257 <p>The sections below provide information about changes made to the application
    258 framework API provided by the Android {@sdkPlatformVersion} platform. Note,
    259 however, that Android 2.0.1 is a minor release to Android 2.0, so for more
    260 information about the changes made to in Android 2.0, please refer to the
    261 <a href="{@docRoot}about/versions/android-2.0.html#api">Android 2.0 version notes</a>.</p>
    262 
    263 
    264 <h3 id="api-level">API level</h3>
    265 
    266 <p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
    267 API. The Android {@sdkPlatformVersion} API
    268 is assigned an integer identifier &mdash; <strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
    269 stored in the system itself. This identifier, called the "API Level", allows the
    270 system to correctly determine whether an application is compatible with
    271 the system, prior to installing the application. </p>
    272 
    273 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 
    274 set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code> 
    275 element in your application's manifest. </p>
    276 
    277 <p>For more information about how to use API Level, see the <a
    278 href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API Levels</a> document. </p>
    279 
    280 
    281 <h3 id="api-changes">API changes summary</h3>
    282 
    283 <p>The following is a summary of changes to the framework APIs.</p>
    284 
    285 <ul>
    286 <li>New {@code quickContactBadgeStyle*} attributes that let
    287 applications apply necessary styles to the {@link
    288 android.widget.QuickContactBadge} widget.</li>
    289 
    290 <li>Remove support for the {@link
    291 android.content.Intent#ACTION_CONFIGURATION_CHANGED} broadcast when declared as
    292 a filter in the manifest. To receive this broadcast, an application must
    293 do so from the application at run-time, with {@link
    294 android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter)}.</li>
    295 </ul>
    296 
    297 <h3 id="behavior-changes">Behavior changes</h3>
    298 
    299 <p>The following is a summary of changes that affect the behavior of some
    300 framework APIs but do not add or remove API functionality.</p>
    301 
    302 <h4>Bluetooth</h4>
    303 
    304 <p>Changes to the values returned by {@link
    305 android.bluetooth.BluetoothAdapter#ACTION_REQUEST_ENABLE} and
    306 {@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_DISCOVERABLE}:</p>
    307 
    308 <ul>
    309 <li>{@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_ENABLE} now
    310 returns {@link android.app.Activity#RESULT_OK} if Bluetooth was successfully
    311 enabled and {@link android.app.Activity#RESULT_CANCELED} if the user rejected
    312 the request to enable Bluetooth, rather than 0 and -1 (or -2),
    313 respectively.</li>
    314 
    315 <li>{@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_DISCOVERABLE}
    316 now returns {@link android.app.Activity#RESULT_CANCELED} if the user rejected
    317 the request to enable discoverability or if Bluetooth is not enabled, rather
    318 than -1 and -2, respectively.</li>
    319 </ul>
    320 
    321 <h4>Contacts</h4>
    322 
    323 <p>The {@link android.content.Intent#ACTION_INSERT} Intent now returns {@link
    324 android.app.Activity#RESULT_CANCELED} in cases where the contact was not
    325 persisted (for example, if the save was trimmed to a no-op).</p>
    326 
    327 
    328 <h3 id="bug-fixes">Bug fixes</h3>
    329 
    330 <p>The following is a summary of bug fixes that affect some framework APIs.</p>
    331 
    332 <h4>Resources</h4>
    333 
    334 <p>The framework now correctly selects application resources in project
    335 folders that use the API Level qualifier. For example, {@code drawable-v4/} is a
    336 folder of drawable resources for API Level 4 (or higher) devices. This version
    337 matching did not work properly and has been fixed.</p>
    338 
    339 <h4>Contacts</h4>
    340 
    341 <p>The {@link android.content.Intent#ACTION_INSERT} Intent now returns the
    342 appropriate kind of URI when the request is made using the (now
    343 deprecated) {@link android.provider.Contacts} APIs.</p>
    344 
    345 <h4>Other Framework fixes</h4>
    346 
    347 <ul>
    348 <li>{@link android.app.Activity#getCallingPackage()} now properly reports the
    349 package name, rather than the process name.</li>
    350 </ul>
    351 
    352 
    353 <h3 id="api-diff">API differences report</h3>
    354 
    355 <p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to 
    356 API Level 5, see the <a
    357 href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
    358 Differences Report</a>. There are very few API changes in API Level 6, 
    359 so you might also be interested in reviewing the <a
    360 href="{@docRoot}sdk/api_diff/5/changes.html">API
    361 differences between 4 and 5</a>.</p>
    362 
    363