blob: ab74631cbed05378196113053fa827ec940fdec0 [file] [log] [blame]
Dirk Dougherty7b229ef2010-03-26 17:32:26 -07001page.title=Android 1.5 Platform
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07002sdk.platform.version=1.5
3sdk.platform.apiLevel=3
4sdk.platform.majorMinor=major
5sdk.platform.releaseDate=April 2009
6sdk.platform.deployableDate=May 2009
7
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -07008@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>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070016 <li><a href="#relnotes">Revisions</a></li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070017 <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>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070020 <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
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -070036<p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070037<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>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -070055
56
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070057<h2 id="features">Platform Highlights</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070058
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070059<p>For a list of new user features and platform highlights, see the <a
60href="http://developer.android.com/sdk/android-{@sdkPlatformVersion}-highlights.html">Android
61{@sdkPlatformVersion} Platform Highlights</a> document.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070062
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070063<h2 id="relnotes">Revisions</h2>
64
65<p>The sections below provide notes about successive releases of
66the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by
67revision number. To determine what revision(s) of the Android
68{@sdkPlatformVersion} platforms are installed in your SDK environment, refer to
69the "Installed Packages" listing in the Android SDK and AVD Manager.</p>
70
71<script type="text/javascript">
72function toggleDiv(link) {
73 var toggleable = $(link).parent();
74 if (toggleable.hasClass("closed")) {
75 //$(".toggleme", toggleable).slideDown("fast");
76 toggleable.removeClass("closed");
77 toggleable.addClass("open");
78 $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/triangle-opened.png"));
79 } else {
80 //$(".toggleme", toggleable).slideUp("fast");
81 toggleable.removeClass("open");
82 toggleable.addClass("closed");
83 $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/triangle-closed.png"));
84 }
85 return false;
86}
87</script>
88<style>
89.toggleable {
90padding: .25em 1em;
91}
92.toggleme {
93 padding: 1em 1em 0 2em;
94 line-height:1em;
95}
96.toggleable a {
97 text-decoration:none;
98}
Dirk Dougherty0d1b0812010-04-07 17:05:16 -070099.toggleme a {
100 text-decoration:underline;
101}
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700102.toggleable.closed .toggleme {
103 display:none;
104}
105#jd-content .toggle-img {
106 margin:0;
107}
108</style>
109
110<div class="toggleable opened">
111 <a href="#" onclick="return toggleDiv(this)">
112 <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty0d1b0812010-04-07 17:05:16 -0700113 Android 1.5, Revision 4</a> <em>(May 2010)</em></a>
114 <div class="toggleme">
115<dl>
116<dt>Dependencies:</dt>
117<dd>
118<p>Requires SDK Tools r6 or higher.</p>
119</dd>
120
121<dt>Tools:</dt>
122<dd>
123<ul>
124<li>Adds support for library projects in the Ant build system.</li>
125<li>Fixes test project build in the Ant build system.</li>
126</ul>
127</dd>
128
129</dl>
130 </div>
131</div>
132
133<div class="toggleable closed">
134 <a href="#" onclick="return toggleDiv(this)">
135 <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700136 Android 1.5, Revision 3</a> <em>(July 2009)</em></a>
137 <div class="toggleme">
138<dl>
139<dt>Dependencies:</dt>
140<dd>
141<p>Requires SDK Tools r3 or higher.</p>
142</dd>
143</dl>
144 </div>
145</div>
146
147<div class="toggleable closed">
148 <a href="#" onclick="return toggleDiv(this)">
149 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
150 Android 1.5, Revision 2</a> <em>(May 2009)</em></a>
151 <div class="toggleme">
152<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
153 </div>
154</div>
155
156<div class="toggleable closed">
157 <a href="#" onclick="return toggleDiv(this)">
158 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
159 Android 1.5, Revision 1</a> <em>(April 2009)</em></a>
160 <div class="toggleme">
161<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
162 </div>
163</div>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700164
165<h2 id="apps">Built-in Applications</h2>
166
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700167<p>The system image included in the downloadable platform provides these
168built-in applications:</p>
169
170<table style="border:0;padding-bottom:0;margin-bottom:0;">
171<tr>
172<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700173 <ul>
174 <li>Alarm Clock</li>
175 <li>Browser</li>
176 <li>Calculator</li>
177 <li>Camcorder</li>
178 <li>Camera</li>
179 <li>Contacts</li>
180 <li>Custom Locale (developer app)</li>
181 <li>Dev Tools (developer app)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700182 </ul>
183</td>
184<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
185 <ul>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700186 <li>Dialer</li>
187 <li>Email</li>
188 <li>Gallery</li>
Dirk Dougherty4b508752009-07-16 08:51:33 -0700189 <li>IME for Japanese text input</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700190 <li>Messaging</li>
191 <li>Music</li>
192 <li>Settings</li>
193 <li>Spare Parts (developer app)</li>
194 </ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700195</td>
196</tr>
197</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700198
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700199<h2 id="locs" style="margin-top:.75em;">Locales</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700200
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700201<p>The system image included in the downloadable platform provides a variety of
202built-in locales. In some cases, region-specific strings are available for the
203locales. In other cases, a default version of the language is used. The
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700204languages that are available in the Android {@sdkPlatformVersion} system
205image are listed below (with <em>language</em>_<em>country/region</em>
206locale descriptor).</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700207
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700208<table style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Dougherty6edea742009-04-24 11:32:25 -0700209<tr>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700210<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700211<ul>
212<li>Chinese, PRC (zh_CN)</li>
213<li>Chinese, Taiwan (zh_TW)</li>
214<li>Czech (cs_CZ)</li>
215<li>Dutch, Netherlands (nl_NL)</li>
216<li>Dutch, Belgium (nl_BE)</li>
217<li>English, US (en_US)</li>
218<li>English, Britain (en_GB)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700219<li>English, Canada (en_CA)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700220<li>English, Australia (en_AU)</li>
221<li>English, New Zealand (en_NZ)</li>
222<li>English, Singapore(en_SG)</li>
223<li>French, France (fr_FR)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700224<li>French, Belgium (fr_BE)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700225</ul>
226</td>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700227<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700228<li>French, Canada (fr_CA)</li>
229<li>French, Switzerland (fr_CH)</li>
230<li>German, Germany (de_DE)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700231<li>German, Austria (de_AT)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700232<li>German, Switzerland (de_CH)</li>
233<li>German, Liechtenstein (de_LI)</li>
234<li>Italian, Italy (it_IT)</li>
235<li>Italian, Switzerland (it_CH)</li>
236<li>Japanese (ja_JP)</li>
237<li>Korean (ko_KR)</li>
238<li>Polish (pl_PL)</li>
239<li>Russian (ru_RU)</li>
240<li>Spanish (es_ES)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700241</td>
242</tr>
243</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700244
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700245<p>Localized UI strings match the locales that are accessible
246through Settings.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700247
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700248<h2 id="skins">Emulator Skins</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700249
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700250<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>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700251
252<ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700253 <li>
254 QVGA-P (240x320, low density, small screen)
255 </li>
256 <li>
257 QVGA-L (320x480, low density, small screen)
258 </li>
259 <li>
260 HVGA (320x480, medium density, normal screen)
261 </li>
262 <li>
263 HVGA-P (320x480, medium density, normal screen)
264 </li>
265 <li>
266 HVGA-L (320x480, medium density, normal screen)
267 </li>
268</ul>
269
270<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>
271
272
273<h2 id="api">Framework API</h2>
274
275<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
276
277
278<h3 id="api-level">API level</h3>
279
280<p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
281API. As with previous versions, the Android {@sdkPlatformVersion} API
282is assigned an integer identifier &mdash; <strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
283stored in the system itself. This identifier, called the "API Level", allows the
284system to correctly determine whether an application is compatible with
285the system, prior to installing the application. </p>
286
287<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700288set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code>
289element in your application's manifest. </p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700290
291<p>For more information about how to use API Level, see the <a
292href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
293
294<h3 id="api-changes">API changes summary</h3>
295
296<h4>UI framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700297 <ul>
298 <li>Framework for easier background/UI thread interaction</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700299 <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
300 <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700301 </ul>
302
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700303<h4>AppWidget framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700304 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700305 <li>APIs for creating secure home screen {@link android.appwidget
306AppWidgets}. For information about how to use AppWidgets, see the Developer's
307Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
308documentation. Also see <a
309href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
310Introducing home screen widgets and the AppWidget
311framework</a> on the Android Developer's Blog.</li>
312 <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
313 with custom content.</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700314 </ul>
315
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700316<h4>Media framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700317 <ul>
318 <li>Raw audio recording and playback APIs</li>
319 <li>Interactive MIDI playback engine</li>
320 <li>Video recording APIs for developers (3GP format)</li>
321 <li>Video and photo sharing Intents</li>
322 <li>Media search Intent</li>
323 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700324
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700325<h4>Input Method framework </h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700326 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700327 <li>{@link android.inputmethodservice.InputMethodService Input Method
328 Service} framework</li>
329 <li>Text-prediction engine</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700330 <li>Ability to provide downloadable IMEs to users</li>
331 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700332
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700333<h4>Application-defined hardware requirements</h4>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700334 <p>Applications can now use a new element in their manifest files, <a
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700335href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code></a>
336 to indicate to the Android system what hardware features
Dirk Dougherty6edea742009-04-24 11:32:25 -0700337they require in order to function properly. For example, an application might
338use the element to specify that it requires a physical keyboard or a particular
339navigation device, such as a trackball. Prior to installing the application, the
340Android system checks the attributes defined for the
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700341<code>&lt;uses-configuration&gt;</code> element and allows the installation to
Dirk Dougherty6edea742009-04-24 11:32:25 -0700342continue only if the required hardware is present.</p>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700343
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700344<h4>Speech recognition framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700345 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700346 <li>Support for using speech recognition libraries via Intent. See {@link
347android.speech.RecognizerIntent RecognizerIntent}.</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700348 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700349
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700350<h4>Miscellaneous API additions</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700351 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700352 <li>LocationManager - Applications can get location change updates via
353 Intent</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700354 <li>WebView - Touch start/end/move/cancel DOM event support</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700355 <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
356 APIs}</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700357 <li>GLSurfaceView - convenience framework for creating OpenGL
Dirk Dougherty6edea742009-04-24 11:32:25 -0700358 applications</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700359 <li>Broadcast Intent for app update install succeeded - for smoother app
Dirk Dougherty6edea742009-04-24 11:32:25 -0700360 upgrade experience</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700361 </ul>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -0700362
363
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700364<h3 id="api-diff">API differences report</h3>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -0700365
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700366<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
367the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
368Differences Report</a>.</p>