blob: 38112b547376e46fa7632de50fa89e0c80026ae8 [file] [log] [blame]
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07001page.title=Android 1.6, Release 1
2sdk.platform.version=1.6
3sdk.platform.apiLevel=4
4sdk.platform.majorMinor=minor
5sdk.platform.releaseDate=September 2009
6sdk.platform.deployableDate=October 2009
Dirk Doughertya6602f12009-08-27 16:26:43 -07007
8@jd:body
9
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070010<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="#notes">Other Notes</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="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API differences report &raquo;</a> </li>
25 </ol></li>
26 </ol>
27
28 <h2>See Also</h2>
29 <ol>
30 <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
31 </ol>
32
33</div>
34</div>
35
Dirk Doughertya6602f12009-08-27 16:26:43 -070036<p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070037<em>Date:</em> {@sdkPlatformReleaseDate}<br />
38<em>API Level:</em>&nbsp;<strong>{@sdkPlatformApiLevel}</strong></p>
39
40<p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release
41deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}.
42The release includes new features for users and developers, as well as changes
43in the Android framework API. </p>
44
45<p>For developers, the Android {@sdkPlatformVersion} platform is available as a
46downloadable component for the Android SDK. The downloadable platform includes a
47fully compliant Android library and system image, as well as a set of emulator
48skins, sample applications, and more. The downloadable platform is fully
49compliant and includes no external libraries. </p>
50
51<p>To get started developing or testing against the Android
52{@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to
53download the platform into your Android 1.6 or later SDK. For more information,
54see <a href="{@docRoot}sdk/adding-components.html">Adding SDK
55Components</a>.</p>
Dirk Doughertya6602f12009-08-27 16:26:43 -070056
57
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070058<h2 id="features">Platform Highlights</h2>
Dirk Doughertya6602f12009-08-27 16:26:43 -070059
Dirk Dougherty24db03a2009-09-09 13:33:45 -070060<p>For a list of new user features and platform highlights, see the <a
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070061href="http://developer.android.com/sdk/android-{@sdkPlatformVersion}-highlights.html">Android
62{@sdkPlatformVersion} Platform Highlights</a> document.</p>
63
Dirk Doughertya6602f12009-08-27 16:26:43 -070064
65<h2 id="apps">Built-in Applications</h2>
66
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070067<p>The system image included in the downloadable platform provides these
68built-in applications:</p>
69
70<table style="border:0;padding-bottom:0;margin-bottom:0;">
71<tr>
72<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertya6602f12009-08-27 16:26:43 -070073 <ul>
74 <li>Alarm Clock</li>
75 <li>Browser</li>
76 <li>Calculator</li>
77 <li>Camcorder</li>
78 <li>Camera</li>
79 <li>Contacts</li>
80 <li>Custom Locale (developer app)</li>
81 <li>Dev Tools (developer app)</li>
82 <li>Dialer</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070083 </ul>
84</td>
85<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
86 <ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -070087 <li>Email</li>
88 <li>Gallery</li>
89 <li>Gestures Builder</li>
90 <li>IME for Japanese text input</li>
91 <li>Messaging</li>
92 <li>Music</li>
93 <li>Settings</li>
94 <li>Spare Parts (developer app)</li>
95 </ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070096</td>
97</tr>
98</table>
Dirk Doughertya6602f12009-08-27 16:26:43 -070099
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700100<h2 id="locs" style="margin-top:.75em;">Locales</h2>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700101
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700102<p>The system image included in the downloadable platform provides a variety of
103built-in locales. In some cases, region-specific strings are available for the
104locales. In other cases, a default version of the language is used. The
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700105languages that are available in the Android {@sdkPlatformVersion} system
106image are listed below (with <em>language</em>_<em>country/region</em>
107locale descriptor).</p>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700108
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700109<table style="border:0;margin-bottom:0;padding-bottom:0;">
Dirk Doughertya6602f12009-08-27 16:26:43 -0700110<tr>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700111<td style="border:0;padding-bottom:0;margin-bottom:0;">
112<ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700113<li>Chinese, PRC (zh_CN)</li>
114<li>Chinese, Taiwan (zh_TW)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700115<li>Czech (cs_CZ)</li>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700116<li>Dutch, Netherlands (nl_NL)</li>
117<li>Dutch, Belgium (nl_BE)</li>
118<li>English, US (en_US)</li>
119<li>English, Britain (en_GB)</li>
120<li>English, Canada (en_CA)</li>
121<li>English, Australia (en_AU)</li>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700122<li>English, New Zealand (en_NZ)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700123<li>English, Singapore(en_SG)</li>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700124<li>French, France (fr_FR)</li>
125<li>French, Belgium (fr_BE)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700126</ul>
127</td>
128<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
Dirk Doughertya6602f12009-08-27 16:26:43 -0700129<li>French, Canada (fr_CA)</li>
130<li>French, Switzerland (fr_CH)</li>
131<li>German, Germany (de_DE)</li>
132<li>German, Austria (de_AT)</li>
133<li>German, Switzerland (de_CH)</li>
134<li>German, Liechtenstein (de_LI)</li>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700135<li>Italian, Italy (it_IT)</li>
136<li>Italian, Switzerland (it_CH)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700137<li>Japanese (ja_JP)</li>
138<li>Korean (ko_KR)</li>
139<li>Polish (pl_PL)</li>
140<li>Russian (ru_RU)</li>
141<li>Spanish (es_ES)</li>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700142</td>
143</tr>
144</table>
145
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700146<p>Localized UI strings match the locales that are accessible
147through Settings.</p>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700148
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700149<h2 id="skins">Emulator Skins</h2>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700150
151<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>
152
153<ul>
154 <li>
155 QVGA (240x320, low density, small screen)
156 </li>
157 <li>
158 HVGA (320x480, medium density, normal screen)
159 </li>
160 <li>
161 WVGA800 (480x800, high density, normal screen)
162 </li>
163 <li>
164 WVGA854 (480x854 high density, normal screen)
165 </li>
166</ul>
167
168<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>
169
170
171<h2 id="api">Framework API</h2>
172
173<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
174
175
176<h3 id="api-level">API level</h3>
177
178<p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
179API. As with previous versions, the Android {@sdkPlatformVersion} API
180is assigned an integer identifier &mdash; <strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
181stored in the system itself. This identifier, called the "API Level", allows the
182system to correctly determine whether an application is compatible with
183the system, prior to installing the application. </p>
184
185<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700186set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code>
187element in your application's manifest. </p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700188
189<p>For more information about how to use API Level, see the <a
190href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
191
192<h3 id="api-changes">API changes summary</h3>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700193
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700194<h4 id="UIFramework">UI framework</h4>
195 <ul>
196 <li>New classes in {@link android.view.animation}
197 to control the behavior of animations:
198 <ul>
199 <li><code>AnticipateInterpolator</code></li>
200 <li><code>AnticipateOvershootInterpolator</code></li>
201 <li><code>BounceInterpolator</code></li>
202 <li><code>OvershootInterpolator</code></li>
203 </ul>
204 </li>
205 <li>New XML attribute <code>android:onClick</code> to specify a View's
206<a href="/reference/android/view/View.OnClickListener.html">View.OnClickListener</a>
207from a layout file.
208 </li>
209 <li>New support for dealing with varying screen densities. Density
210information is associated with Bitmap and Canvas for performing the
211correct scaling. The framework will automatically scale bitmaps and
212nine-patches based on the density the resource was found under and the
213density of the screen, etc.
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700214 </li><p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
215set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code>
216element in your application's manifest. </p>
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700217 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700218
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700219<h4>Search framework</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700220 <ul>
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700221 <li>Applications can now expose relevant content to users as search
222suggestions in the Quick Search Box, a new device-wide search capability that is
223accessible from the home screen. To support this, the search framework adds new
224attributes to the searchable metadata file. For complete information, see the
225{@link android.app.SearchManager SearchManager} documentation.
226 </li>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700227 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700228
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700229<h4>Accessibility framework</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700230 <ul>
231 <li>New {@link android.view.accessibility android.accessibility} package
232that includes classes for capturing accessibility events and forwarding them to
233an {@link android.accessibilityservice AccessibilityService} handler. </li>
234 <li>New {@link android.accessibilityservice AccessibilityService} package
235that lets your application track user events and provide visual, audible, or
236haptic feedback to the user. </li>
237 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700238
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700239<h4>Gesture Input</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700240 <ul>
241 <li>New {@link android.gesture gesture} API for creating, recognizing,
242loading, and saving gestures.</li>
243 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700244
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700245<h4>Text-to-speech</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700246 <ul>
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700247 <li>New {@link android.speech.tts android.speech.tts} package provides
Dirk Doughertya6602f12009-08-27 16:26:43 -0700248classes for synthesizing speech from text, for immediate playback or to create a
249sound file.</li>
250 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700251
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700252<h4>Graphics</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700253 <ul>
254 <li>Classes in {@link android.graphics android.graphics} now support scaling
255for different screen densities.</li>
256 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700257
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700258<h4>Telephony</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700259 <ul>
260 <li>New {@link android.telephony.SmsManager SmsManager} and other classes
261for sending and receiving SMS messages.</li>
262 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700263
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700264<h4>Utilities</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700265 <ul>
266 <li>New {@link android.util.DisplayMetrics DisplayMetrics} fields for
267determining the density of the current device screen.</li>
268 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700269
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700270<h4 id="AndroidManifest">Android Manifest elements</h4>
271
272 <ul>
273 <li>New <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code
274 &lt;supports-screens>}</a> element lets you specify the device screen sizes that your
275 application is designed and tested to support, where "size" is a combination
276 of resolution and density. If your application is run on a device whose screen
277 size is not specified in the <code>&lt;supports-screen&gt;</code> element, the system
278 displays the application in <em>compatibility mode</em>, which performs best-effort scaling
279 of the application UI to match the resolution and density of the screen.
280
281 <p>The attributes available for defining an application's screen support are:
282
283 <ul>
284
285 <li><code>smallScreen</code>: Boolean value that indicates whether the
286 application is designed to run on devices with small screens.
287 Examples: QVGA low density; VGA high density.
288 </li>
289 <li><code>normalScreens</code>: Boolean value that indicates whether
290 the application is designed to run on devices with normal screens.
291 Examples: WQVGA low density; HVGA medium density; WVGA high density.
292 </li>
293 <li><code>largeScreens</code>: Boolean value that indicates whether
294 the application is designed to run on devices with significantly
295 larger screens, such that special care may be required on
296 the application's part to make proper use of the screen area.
297 Examples: VGA medium density; WVGA medium density.
298 </li>
299 <li><code>anyDensity</code>: Boolean value that indicates whether
300 the application can accommodate any screen density.
301 </li>
302 <li><code>resizable</code>: Boolean value that indicates whether
303 the application can expand its layout to fit slightly larger screens.
304 </li>
305 </ul>
306 </p>
307 </li>
308
309 <li>New <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code &lt;uses-feature>}</a>
310 element lets an application specify hardware (or other)
311 features that it requires to function normally. When an application
312 specifies such features, the system allows the application to be installed only
313 on devices that offer the required features. The element supports these
314 attributes:
315 <ul>
316 <li><code>name</code>: The name of the feature required by the application. Currently accepts
317 "android.hardware.camera" and "android.hardware.camera.autofocus" values, which specify that a
318 camera and camera autofocus are required, respectively.</li>
319 <li><code>glEsVersion</code>: Indicates the minimum version of OpenGL ES required.</li>
320 </ul>
321 </li>
322 <li>New attributes for the
323 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">{@code &lt;uses-sdk>}</a> element:
324 <ul>
325 <li><code>maxSdkVersion</code>: This indicates the maximum API Level on which an application is
326 designed to run. If an application declares this attribute, the Android system prevents the user
327 from installing the application if the system's API Level is higher than the value specified in
328 this attribute. </li>
329 <li><code>targetSdkVersion</code>: This indicates the API Level that the application is targeting.
330 It is able to run on older versions (down to minSdkVersion), but was explicitly tested to
331 work with the version specified here. Specifying this version allows the platform to
332 disable compatibility code that is not required or enable newer features that are not
333 available to older applications. </li>
334 </ul>
335 </li>
336
337 </li>
338 </ul>
339
340<h4>New Permissions</h4>
341
342 <ul>
343 <li>{@link android.Manifest.permission#CHANGE_WIFI_MULTICAST_STATE
344 CHANGE_WIFI_MULTICAST_STATE}: Allows applications to enter Wi-Fi
345 Multicast mode.
346 </li>
347 <li>{@link android.Manifest.permission#GLOBAL_SEARCH}: Allows the
348 global search system to access the data of a specified content provider.
349 </li>
350 <li>{@link android.Manifest.permission#INSTALL_LOCATION_PROVIDER INSTALL_LOCATION_PROVIDER}:
351 Allows an application to install a location provider into the Location Manager.
352 </li>
353 <li>{@link android.Manifest.permission#READ_HISTORY_BOOKMARKS READ_HISTORY_BOOKMARKS}:
354 Allows an application to read (but not write) the user's browsing history
355 and bookmarks.
356 </li>
357 <li>{@link android.Manifest.permission#WRITE_HISTORY_BOOKMARKS WRITE_HISTORY_BOOKMARKS}:
358 Allows an application to write (but not read) the user's browsing history
359 and bookmarks.
360 </li>
361 <li>{@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE}:
362 Allows an application to write to external storage. Applications using API Level 3
363 and lower will be implicitly granted this permission (and this will be visible to
364 the user); Applications using API Level 4 or higher must explicitly request this
365 permission.
366 </li>
367 </ul>
368
Dirk Doughertya6602f12009-08-27 16:26:43 -0700369
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700370<h3 id="api-diff">API differences report</h3>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700371
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700372<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
373the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
374Differences Report</a>.</p>