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