blob: 0c16b606d498b51f395556d398e9c1a9a49eac82 [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
Dirk Dougherty44108b52010-05-18 16:53:06 -070013<h2>In this document</h2>
14<ol>
15 <li><a href="#features">Platform Highlights</a></li>
16 <li><a href="#relnotes">Revisions</a></li>
17 <li><a href="#api-level">API Level</a></li>
18 <li><a href="#api">Framework API Changes</a>
19 <li><a href="#apps">Built-in Applications</a></li>
20 <li><a href="#locs">Locales</a></li>
21 <li><a href="#skins">Emulator Skins</a></li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070022
Dirk Dougherty44108b52010-05-18 16:53:06 -070023 </ol>
24 </li>
25</ol>
26
27<h2>Reference</h2>
28<ol>
29<li><a
30href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
31Differences Report &raquo;</a> </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>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070038
39</div>
40</div>
41
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -070042<p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070043<em>API Level:</em>&nbsp;<strong>{@sdkPlatformApiLevel}</strong></p>
44
45<p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release
46deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}.
47The release includes new features for users and developers, as well as changes
48in the Android framework API. </p>
49
50<p>For developers, the Android {@sdkPlatformVersion} platform is available as a
51downloadable component for the Android SDK. The downloadable platform includes a
52fully compliant Android library and system image, as well as a set of emulator
53skins, sample applications, and more. The downloadable platform is fully
54compliant and 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
58download the platform into your Android 1.6 or later SDK. For more information,
59see <a href="{@docRoot}sdk/adding-components.html">Adding SDK
60Components</a>.</p>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -070061
62
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070063<h2 id="features">Platform Highlights</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070064
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070065<p>For a list of new user features and platform highlights, see the <a
66href="http://developer.android.com/sdk/android-{@sdkPlatformVersion}-highlights.html">Android
67{@sdkPlatformVersion} Platform Highlights</a> document.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070068
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070069<h2 id="relnotes">Revisions</h2>
70
71<p>The sections below provide notes about successive releases of
72the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by
73revision number. To determine what revision(s) of the Android
74{@sdkPlatformVersion} platforms are installed in your SDK environment, refer to
75the "Installed Packages" listing in the Android SDK and AVD Manager.</p>
76
77<script type="text/javascript">
78function 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 {
Dirk Dougherty44108b52010-05-18 16:53:06 -070096 padding: .25em 1em 0em 1em;
97 margin-bottom: 0;
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070098}
99.toggleme {
100 padding: 1em 1em 0 2em;
101 line-height:1em;
102}
103.toggleable a {
104 text-decoration:none;
105}
Dirk Dougherty0d1b0812010-04-07 17:05:16 -0700106.toggleme a {
107 text-decoration:underline;
108}
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700109.toggleable.closed .toggleme {
110 display:none;
111}
112#jd-content .toggle-img {
113 margin:0;
114}
115</style>
116
117<div class="toggleable opened">
118 <a href="#" onclick="return toggleDiv(this)">
119 <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty0d1b0812010-04-07 17:05:16 -0700120 Android 1.5, Revision 4</a> <em>(May 2010)</em></a>
121 <div class="toggleme">
122<dl>
123<dt>Dependencies:</dt>
124<dd>
125<p>Requires SDK Tools r6 or higher.</p>
126</dd>
127
128<dt>Tools:</dt>
129<dd>
130<ul>
131<li>Adds support for library projects in the Ant build system.</li>
132<li>Fixes test project build in the Ant build system.</li>
133</ul>
134</dd>
135
136</dl>
137 </div>
138</div>
139
140<div class="toggleable closed">
141 <a href="#" onclick="return toggleDiv(this)">
Dirk Dougherty3c691a82010-06-15 12:27:00 -0700142 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700143 Android 1.5, Revision 3</a> <em>(July 2009)</em></a>
144 <div class="toggleme">
145<dl>
146<dt>Dependencies:</dt>
147<dd>
148<p>Requires SDK Tools r3 or higher.</p>
149</dd>
150</dl>
151 </div>
152</div>
153
154<div class="toggleable closed">
155 <a href="#" onclick="return toggleDiv(this)">
156 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
157 Android 1.5, Revision 2</a> <em>(May 2009)</em></a>
158 <div class="toggleme">
159<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
160 </div>
161</div>
162
163<div class="toggleable closed">
164 <a href="#" onclick="return toggleDiv(this)">
165 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
166 Android 1.5, Revision 1</a> <em>(April 2009)</em></a>
167 <div class="toggleme">
168<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
169 </div>
170</div>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700171
Dirk Dougherty44108b52010-05-18 16:53:06 -0700172
173<h2 id="api-level">API Level</h2>
174
175<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
176the framework API. The Android {@sdkPlatformVersion} API
177is assigned an integer identifier &mdash;
178<strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
179stored in the system itself. This identifier, called the "API Level", allows the
180system to correctly determine whether an application is compatible with
181the system, prior to installing the application. </p>
182
183<p>To use APIs introduced in Android {@sdkPlatformVersion} in your
184application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
185<code>android:minSdkVersion</code> attributes of the <code>&lt;uses-sdk&gt;</code>
186element in your application's manifest. </p>
187
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
192<h2 id="api">Framework API Changes</h2>
193
194<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
195
196<h3>UI framework</h3>
197 <ul>
198 <li>Framework for easier background/UI thread interaction</li>
199 <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
200 <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
201 </ul>
202
203<h3>AppWidget framework</h3>
204 <ul>
205 <li>APIs for creating secure home screen {@link android.appwidget
206AppWidgets}. For information about how to use AppWidgets, see the Developer's
207Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
208documentation. Also see <a
209href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
210Introducing home screen widgets and the AppWidget
211framework</a> on the Android Developer's Blog.</li>
212 <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
213 with custom content.</li>
214 </ul>
215
216<h3>Media framework</h3>
217 <ul>
218 <li>Raw audio recording and playback APIs</li>
219 <li>Interactive MIDI playback engine</li>
220 <li>Video recording APIs for developers (3GP format)</li>
221 <li>Video and photo sharing Intents</li>
222 <li>Media search Intent</li>
223 </ul>
224
225<h3>Input Method framework </h3>
226 <ul>
227 <li>{@link android.inputmethodservice.InputMethodService Input Method
228 Service} framework</li>
229 <li>Text-prediction engine</li>
230 <li>Ability to provide downloadable IMEs to users</li>
231 </ul>
232
233<h3>Application-defined hardware requirements</h3>
234
235<p>Applications can now use a new element in their manifest files, <a
236href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code></a>
237 to indicate to the Android system what hardware features
238they require in order to function properly. For example, an application might
239use the element to specify that it requires a physical keyboard or a particular
240navigation device, such as a trackball. Prior to installing the application, the
241Android system checks the attributes defined for the
242<code>&lt;uses-configuration&gt;</code> element and allows the installation to
243continue only if the required hardware is present.</p>
244
245<h3>Speech recognition framework</h3>
246 <ul>
247 <li>Support for using speech recognition libraries via Intent. See {@link
248android.speech.RecognizerIntent RecognizerIntent}.</li>
249 </ul>
250
251<h3>Miscellaneous API additions</h3>
252 <ul>
253 <li>LocationManager - Applications can get location change updates via
254 Intent</li>
255 <li>WebView - Touch start/end/move/cancel DOM event support</li>
256 <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
257 APIs}</li>
258 <li>GLSurfaceView - convenience framework for creating OpenGL
259 applications</li>
260 <li>Broadcast Intent for app update install succeeded - for smoother app
261 upgrade experience</li>
262 </ul>
263
264
265<h3 id="api-diff">API differences report</h3>
266
267<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
268the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
269Differences Report</a>.</p>
270
271
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700272<h2 id="apps">Built-in Applications</h2>
273
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700274<p>The system image included in the downloadable platform provides these
275built-in applications:</p>
276
277<table style="border:0;padding-bottom:0;margin-bottom:0;">
278<tr>
279<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700280 <ul>
281 <li>Alarm Clock</li>
282 <li>Browser</li>
283 <li>Calculator</li>
284 <li>Camcorder</li>
285 <li>Camera</li>
286 <li>Contacts</li>
287 <li>Custom Locale (developer app)</li>
288 <li>Dev Tools (developer app)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700289 </ul>
290</td>
291<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
292 <ul>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700293 <li>Dialer</li>
294 <li>Email</li>
295 <li>Gallery</li>
Dirk Dougherty4b508752009-07-16 08:51:33 -0700296 <li>IME for Japanese text input</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700297 <li>Messaging</li>
298 <li>Music</li>
299 <li>Settings</li>
300 <li>Spare Parts (developer app)</li>
301 </ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700302</td>
303</tr>
304</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700305
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700306<h2 id="locs" style="margin-top:.75em;">Locales</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700307
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700308<p>The system image included in the downloadable platform provides a variety of
309built-in locales. In some cases, region-specific strings are available for the
310locales. In other cases, a default version of the language is used. The
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700311languages that are available in the Android {@sdkPlatformVersion} system
312image are listed below (with <em>language</em>_<em>country/region</em>
313locale descriptor).</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700314
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700315<table style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Dougherty6edea742009-04-24 11:32:25 -0700316<tr>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700317<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700318<ul>
319<li>Chinese, PRC (zh_CN)</li>
320<li>Chinese, Taiwan (zh_TW)</li>
321<li>Czech (cs_CZ)</li>
322<li>Dutch, Netherlands (nl_NL)</li>
323<li>Dutch, Belgium (nl_BE)</li>
324<li>English, US (en_US)</li>
325<li>English, Britain (en_GB)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700326<li>English, Canada (en_CA)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700327<li>English, Australia (en_AU)</li>
328<li>English, New Zealand (en_NZ)</li>
329<li>English, Singapore(en_SG)</li>
330<li>French, France (fr_FR)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700331<li>French, Belgium (fr_BE)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700332</ul>
333</td>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700334<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700335<li>French, Canada (fr_CA)</li>
336<li>French, Switzerland (fr_CH)</li>
337<li>German, Germany (de_DE)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700338<li>German, Austria (de_AT)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700339<li>German, Switzerland (de_CH)</li>
340<li>German, Liechtenstein (de_LI)</li>
341<li>Italian, Italy (it_IT)</li>
342<li>Italian, Switzerland (it_CH)</li>
343<li>Japanese (ja_JP)</li>
344<li>Korean (ko_KR)</li>
345<li>Polish (pl_PL)</li>
346<li>Russian (ru_RU)</li>
347<li>Spanish (es_ES)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700348</td>
349</tr>
350</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700351
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700352<p>Localized UI strings match the locales that are accessible
353through Settings.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700354
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700355<h2 id="skins">Emulator Skins</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700356
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700357<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 -0700358
359<ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700360 <li>
361 QVGA-P (240x320, low density, small screen)
362 </li>
363 <li>
364 QVGA-L (320x480, low density, small screen)
365 </li>
366 <li>
367 HVGA (320x480, medium density, normal screen)
368 </li>
369 <li>
370 HVGA-P (320x480, medium density, normal screen)
371 </li>
372 <li>
373 HVGA-L (320x480, medium density, normal screen)
374 </li>
375</ul>
376
377<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>