blob: b3eea773e649ae5514c2ea440dfbb5881d61b473 [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}
99.toggleable.closed .toggleme {
100 display:none;
101}
102#jd-content .toggle-img {
103 margin:0;
104}
105</style>
106
107<div class="toggleable opened">
108 <a href="#" onclick="return toggleDiv(this)">
109 <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
110 Android 1.5, Revision 3</a> <em>(July 2009)</em></a>
111 <div class="toggleme">
112<dl>
113<dt>Dependencies:</dt>
114<dd>
115<p>Requires SDK Tools r3 or higher.</p>
116</dd>
117</dl>
118 </div>
119</div>
120
121<div class="toggleable closed">
122 <a href="#" onclick="return toggleDiv(this)">
123 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
124 Android 1.5, Revision 2</a> <em>(May 2009)</em></a>
125 <div class="toggleme">
126<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
127 </div>
128</div>
129
130<div class="toggleable closed">
131 <a href="#" onclick="return toggleDiv(this)">
132 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
133 Android 1.5, Revision 1</a> <em>(April 2009)</em></a>
134 <div class="toggleme">
135<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
136 </div>
137</div>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700138
139<h2 id="apps">Built-in Applications</h2>
140
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700141<p>The system image included in the downloadable platform provides these
142built-in applications:</p>
143
144<table style="border:0;padding-bottom:0;margin-bottom:0;">
145<tr>
146<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700147 <ul>
148 <li>Alarm Clock</li>
149 <li>Browser</li>
150 <li>Calculator</li>
151 <li>Camcorder</li>
152 <li>Camera</li>
153 <li>Contacts</li>
154 <li>Custom Locale (developer app)</li>
155 <li>Dev Tools (developer app)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700156 </ul>
157</td>
158<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
159 <ul>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700160 <li>Dialer</li>
161 <li>Email</li>
162 <li>Gallery</li>
Dirk Dougherty4b508752009-07-16 08:51:33 -0700163 <li>IME for Japanese text input</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700164 <li>Messaging</li>
165 <li>Music</li>
166 <li>Settings</li>
167 <li>Spare Parts (developer app)</li>
168 </ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700169</td>
170</tr>
171</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700172
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700173<h2 id="locs" style="margin-top:.75em;">Locales</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700174
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700175<p>The system image included in the downloadable platform provides a variety of
176built-in locales. In some cases, region-specific strings are available for the
177locales. In other cases, a default version of the language is used. The
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700178languages that are available in the Android {@sdkPlatformVersion} system
179image are listed below (with <em>language</em>_<em>country/region</em>
180locale descriptor).</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700181
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700182<table style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Dougherty6edea742009-04-24 11:32:25 -0700183<tr>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700184<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700185<ul>
186<li>Chinese, PRC (zh_CN)</li>
187<li>Chinese, Taiwan (zh_TW)</li>
188<li>Czech (cs_CZ)</li>
189<li>Dutch, Netherlands (nl_NL)</li>
190<li>Dutch, Belgium (nl_BE)</li>
191<li>English, US (en_US)</li>
192<li>English, Britain (en_GB)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700193<li>English, Canada (en_CA)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700194<li>English, Australia (en_AU)</li>
195<li>English, New Zealand (en_NZ)</li>
196<li>English, Singapore(en_SG)</li>
197<li>French, France (fr_FR)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700198<li>French, Belgium (fr_BE)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700199</ul>
200</td>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700201<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700202<li>French, Canada (fr_CA)</li>
203<li>French, Switzerland (fr_CH)</li>
204<li>German, Germany (de_DE)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700205<li>German, Austria (de_AT)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700206<li>German, Switzerland (de_CH)</li>
207<li>German, Liechtenstein (de_LI)</li>
208<li>Italian, Italy (it_IT)</li>
209<li>Italian, Switzerland (it_CH)</li>
210<li>Japanese (ja_JP)</li>
211<li>Korean (ko_KR)</li>
212<li>Polish (pl_PL)</li>
213<li>Russian (ru_RU)</li>
214<li>Spanish (es_ES)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700215</td>
216</tr>
217</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700218
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700219<p>Localized UI strings match the locales that are accessible
220through Settings.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700221
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700222<h2 id="skins">Emulator Skins</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700223
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700224<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 -0700225
226<ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700227 <li>
228 QVGA-P (240x320, low density, small screen)
229 </li>
230 <li>
231 QVGA-L (320x480, low density, small screen)
232 </li>
233 <li>
234 HVGA (320x480, medium density, normal screen)
235 </li>
236 <li>
237 HVGA-P (320x480, medium density, normal screen)
238 </li>
239 <li>
240 HVGA-L (320x480, medium density, normal screen)
241 </li>
242</ul>
243
244<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>
245
246
247<h2 id="api">Framework API</h2>
248
249<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
250
251
252<h3 id="api-level">API level</h3>
253
254<p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
255API. As with previous versions, the Android {@sdkPlatformVersion} API
256is assigned an integer identifier &mdash; <strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
257stored in the system itself. This identifier, called the "API Level", allows the
258system to correctly determine whether an application is compatible with
259the system, prior to installing the application. </p>
260
261<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700262set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code>
263element in your application's manifest. </p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700264
265<p>For more information about how to use API Level, see the <a
266href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
267
268<h3 id="api-changes">API changes summary</h3>
269
270<h4>UI framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700271 <ul>
272 <li>Framework for easier background/UI thread interaction</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700273 <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
274 <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700275 </ul>
276
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700277<h4>AppWidget framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700278 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700279 <li>APIs for creating secure home screen {@link android.appwidget
280AppWidgets}. For information about how to use AppWidgets, see the Developer's
281Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
282documentation. Also see <a
283href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
284Introducing home screen widgets and the AppWidget
285framework</a> on the Android Developer's Blog.</li>
286 <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
287 with custom content.</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700288 </ul>
289
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700290<h4>Media framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700291 <ul>
292 <li>Raw audio recording and playback APIs</li>
293 <li>Interactive MIDI playback engine</li>
294 <li>Video recording APIs for developers (3GP format)</li>
295 <li>Video and photo sharing Intents</li>
296 <li>Media search Intent</li>
297 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700298
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700299<h4>Input Method framework </h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700300 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700301 <li>{@link android.inputmethodservice.InputMethodService Input Method
302 Service} framework</li>
303 <li>Text-prediction engine</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700304 <li>Ability to provide downloadable IMEs to users</li>
305 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700306
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700307<h4>Application-defined hardware requirements</h4>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700308 <p>Applications can now use a new element in their manifest files, <a
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700309href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code></a>
310 to indicate to the Android system what hardware features
Dirk Dougherty6edea742009-04-24 11:32:25 -0700311they require in order to function properly. For example, an application might
312use the element to specify that it requires a physical keyboard or a particular
313navigation device, such as a trackball. Prior to installing the application, the
314Android system checks the attributes defined for the
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700315<code>&lt;uses-configuration&gt;</code> element and allows the installation to
Dirk Dougherty6edea742009-04-24 11:32:25 -0700316continue only if the required hardware is present.</p>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700317
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700318<h4>Speech recognition framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700319 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700320 <li>Support for using speech recognition libraries via Intent. See {@link
321android.speech.RecognizerIntent RecognizerIntent}.</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700322 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700323
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700324<h4>Miscellaneous API additions</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700325 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700326 <li>LocationManager - Applications can get location change updates via
327 Intent</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700328 <li>WebView - Touch start/end/move/cancel DOM event support</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700329 <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
330 APIs}</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700331 <li>GLSurfaceView - convenience framework for creating OpenGL
Dirk Dougherty6edea742009-04-24 11:32:25 -0700332 applications</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700333 <li>Broadcast Intent for app update install succeeded - for smoother app
Dirk Dougherty6edea742009-04-24 11:32:25 -0700334 upgrade experience</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700335 </ul>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -0700336
337
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700338<h3 id="api-diff">API differences report</h3>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -0700339
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700340<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
341the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
342Differences Report</a>.</p>