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