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