blob: 9ed798c2a8f8fd4307c8170d3d5f33700461ad82 [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
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07005
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -07006@jd:body
7
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07008<div id="qv-wrapper">
9<div id="qv">
10
Dirk Dougherty44108b52010-05-18 16:53:06 -070011<h2>In this document</h2>
12<ol>
13 <li><a href="#features">Platform Highlights</a></li>
14 <li><a href="#relnotes">Revisions</a></li>
15 <li><a href="#api-level">API Level</a></li>
16 <li><a href="#api">Framework API Changes</a>
17 <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
Dirk Dougherty44108b52010-05-18 16:53:06 -070021 </ol>
22 </li>
23</ol>
24
25<h2>Reference</h2>
26<ol>
27<li><a
28href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
29Differences Report &raquo;</a> </li>
30</ol>
31
32<h2>See Also</h2>
33<ol>
34 <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
35</ol>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070036
37</div>
38</div>
39
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -070040<p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070041<em>API Level:</em>&nbsp;<strong>{@sdkPlatformApiLevel}</strong></p>
42
43<p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release
Dirk Dougherty9519eab2010-09-14 18:15:08 -070044deployable to Android-powered handsets starting in May 2009.
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070045The release includes new features for users and developers, as well as changes
46in the Android framework API. </p>
47
48<p>For developers, the Android {@sdkPlatformVersion} platform is available as a
49downloadable component for the Android SDK. The downloadable platform includes a
50fully compliant Android library and system image, as well as a set of emulator
51skins, sample applications, and more. The downloadable platform is fully
52compliant and includes no external libraries. </p>
53
54<p>To get started developing or testing against the Android
55{@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to
56download the platform into your Android 1.6 or later SDK. For more information,
57see <a href="{@docRoot}sdk/adding-components.html">Adding SDK
58Components</a>.</p>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -070059
60
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070061<h2 id="features">Platform Highlights</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070062
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070063<p>For a list of new user features and platform highlights, see the <a
64href="http://developer.android.com/sdk/android-{@sdkPlatformVersion}-highlights.html">Android
65{@sdkPlatformVersion} Platform Highlights</a> document.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070066
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070067<h2 id="relnotes">Revisions</h2>
68
69<p>The sections below provide notes about successive releases of
70the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by
71revision number. To determine what revision(s) of the Android
72{@sdkPlatformVersion} platforms are installed in your SDK environment, refer to
73the "Installed Packages" listing in the Android SDK and AVD Manager.</p>
74
75<script type="text/javascript">
76function toggleDiv(link) {
77 var toggleable = $(link).parent();
78 if (toggleable.hasClass("closed")) {
79 //$(".toggleme", toggleable).slideDown("fast");
80 toggleable.removeClass("closed");
81 toggleable.addClass("open");
82 $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/triangle-opened.png"));
83 } else {
84 //$(".toggleme", toggleable).slideUp("fast");
85 toggleable.removeClass("open");
86 toggleable.addClass("closed");
87 $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/triangle-closed.png"));
88 }
89 return false;
90}
91</script>
92<style>
93.toggleable {
Dirk Dougherty44108b52010-05-18 16:53:06 -070094 padding: .25em 1em 0em 1em;
95 margin-bottom: 0;
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070096}
97.toggleme {
98 padding: 1em 1em 0 2em;
99 line-height:1em;
100}
101.toggleable a {
102 text-decoration:none;
103}
Dirk Dougherty0d1b0812010-04-07 17:05:16 -0700104.toggleme a {
105 text-decoration:underline;
106}
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700107.toggleable.closed .toggleme {
108 display:none;
109}
110#jd-content .toggle-img {
111 margin:0;
112}
113</style>
114
115<div class="toggleable opened">
116 <a href="#" onclick="return toggleDiv(this)">
117 <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty0d1b0812010-04-07 17:05:16 -0700118 Android 1.5, Revision 4</a> <em>(May 2010)</em></a>
119 <div class="toggleme">
120<dl>
121<dt>Dependencies:</dt>
122<dd>
123<p>Requires SDK Tools r6 or higher.</p>
124</dd>
125
126<dt>Tools:</dt>
127<dd>
128<ul>
129<li>Adds support for library projects in the Ant build system.</li>
130<li>Fixes test project build in the Ant build system.</li>
131</ul>
132</dd>
133
134</dl>
135 </div>
136</div>
137
138<div class="toggleable closed">
139 <a href="#" onclick="return toggleDiv(this)">
Dirk Dougherty3c691a82010-06-15 12:27:00 -0700140 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700141 Android 1.5, Revision 3</a> <em>(July 2009)</em></a>
142 <div class="toggleme">
143<dl>
144<dt>Dependencies:</dt>
145<dd>
146<p>Requires SDK Tools r3 or higher.</p>
147</dd>
148</dl>
149 </div>
150</div>
151
152<div class="toggleable closed">
153 <a href="#" onclick="return toggleDiv(this)">
154 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
155 Android 1.5, Revision 2</a> <em>(May 2009)</em></a>
156 <div class="toggleme">
157<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
158 </div>
159</div>
160
161<div class="toggleable closed">
162 <a href="#" onclick="return toggleDiv(this)">
163 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
164 Android 1.5, Revision 1</a> <em>(April 2009)</em></a>
165 <div class="toggleme">
166<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
167 </div>
168</div>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700169
Dirk Dougherty44108b52010-05-18 16:53:06 -0700170
171<h2 id="api-level">API Level</h2>
172
173<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
174the framework API. The Android {@sdkPlatformVersion} API
175is assigned an integer identifier &mdash;
176<strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
177stored in the system itself. This identifier, called the "API Level", allows the
178system to correctly determine whether an application is compatible with
179the system, prior to installing the application. </p>
180
181<p>To use APIs introduced in Android {@sdkPlatformVersion} in your
182application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
183<code>android:minSdkVersion</code> attributes of the <code>&lt;uses-sdk&gt;</code>
184element in your application's manifest. </p>
185
186<p>For more information about how to use API Level, see the <a
187href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
188
189
190<h2 id="api">Framework API Changes</h2>
191
192<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
193
194<h3>UI framework</h3>
195 <ul>
196 <li>Framework for easier background/UI thread interaction</li>
197 <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
198 <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
199 </ul>
200
201<h3>AppWidget framework</h3>
202 <ul>
203 <li>APIs for creating secure home screen {@link android.appwidget
204AppWidgets}. For information about how to use AppWidgets, see the Developer's
205Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
206documentation. Also see <a
207href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
208Introducing home screen widgets and the AppWidget
209framework</a> on the Android Developer's Blog.</li>
210 <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
211 with custom content.</li>
212 </ul>
213
214<h3>Media framework</h3>
215 <ul>
216 <li>Raw audio recording and playback APIs</li>
217 <li>Interactive MIDI playback engine</li>
218 <li>Video recording APIs for developers (3GP format)</li>
219 <li>Video and photo sharing Intents</li>
220 <li>Media search Intent</li>
221 </ul>
222
223<h3>Input Method framework </h3>
224 <ul>
225 <li>{@link android.inputmethodservice.InputMethodService Input Method
226 Service} framework</li>
227 <li>Text-prediction engine</li>
228 <li>Ability to provide downloadable IMEs to users</li>
229 </ul>
230
231<h3>Application-defined hardware requirements</h3>
232
233<p>Applications can now use a new element in their manifest files, <a
234href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code></a>
235 to indicate to the Android system what hardware features
236they require in order to function properly. For example, an application might
237use the element to specify that it requires a physical keyboard or a particular
238navigation device, such as a trackball. Prior to installing the application, the
239Android system checks the attributes defined for the
240<code>&lt;uses-configuration&gt;</code> element and allows the installation to
241continue only if the required hardware is present.</p>
242
243<h3>Speech recognition framework</h3>
244 <ul>
245 <li>Support for using speech recognition libraries via Intent. See {@link
246android.speech.RecognizerIntent RecognizerIntent}.</li>
247 </ul>
248
249<h3>Miscellaneous API additions</h3>
250 <ul>
251 <li>LocationManager - Applications can get location change updates via
252 Intent</li>
253 <li>WebView - Touch start/end/move/cancel DOM event support</li>
254 <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
255 APIs}</li>
256 <li>GLSurfaceView - convenience framework for creating OpenGL
257 applications</li>
258 <li>Broadcast Intent for app update install succeeded - for smoother app
259 upgrade experience</li>
260 </ul>
261
262
263<h3 id="api-diff">API differences report</h3>
264
265<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
266the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
267Differences Report</a>.</p>
268
269
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700270<h2 id="apps">Built-in Applications</h2>
271
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700272<p>The system image included in the downloadable platform provides these
273built-in applications:</p>
274
275<table style="border:0;padding-bottom:0;margin-bottom:0;">
276<tr>
277<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700278 <ul>
279 <li>Alarm Clock</li>
280 <li>Browser</li>
281 <li>Calculator</li>
282 <li>Camcorder</li>
283 <li>Camera</li>
284 <li>Contacts</li>
285 <li>Custom Locale (developer app)</li>
286 <li>Dev Tools (developer app)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700287 </ul>
288</td>
289<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
290 <ul>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700291 <li>Dialer</li>
292 <li>Email</li>
293 <li>Gallery</li>
Dirk Dougherty4b508752009-07-16 08:51:33 -0700294 <li>IME for Japanese text input</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700295 <li>Messaging</li>
296 <li>Music</li>
297 <li>Settings</li>
298 <li>Spare Parts (developer app)</li>
299 </ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700300</td>
301</tr>
302</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700303
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700304<h2 id="locs" style="margin-top:.75em;">Locales</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700305
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700306<p>The system image included in the downloadable platform provides a variety of
307built-in locales. In some cases, region-specific strings are available for the
308locales. In other cases, a default version of the language is used. The
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700309languages that are available in the Android {@sdkPlatformVersion} system
310image are listed below (with <em>language</em>_<em>country/region</em>
311locale descriptor).</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700312
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700313<table style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Dougherty6edea742009-04-24 11:32:25 -0700314<tr>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700315<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700316<ul>
317<li>Chinese, PRC (zh_CN)</li>
318<li>Chinese, Taiwan (zh_TW)</li>
319<li>Czech (cs_CZ)</li>
320<li>Dutch, Netherlands (nl_NL)</li>
321<li>Dutch, Belgium (nl_BE)</li>
322<li>English, US (en_US)</li>
323<li>English, Britain (en_GB)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700324<li>English, Canada (en_CA)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700325<li>English, Australia (en_AU)</li>
326<li>English, New Zealand (en_NZ)</li>
327<li>English, Singapore(en_SG)</li>
328<li>French, France (fr_FR)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700329<li>French, Belgium (fr_BE)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700330</ul>
331</td>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700332<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700333<li>French, Canada (fr_CA)</li>
334<li>French, Switzerland (fr_CH)</li>
335<li>German, Germany (de_DE)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700336<li>German, Austria (de_AT)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700337<li>German, Switzerland (de_CH)</li>
338<li>German, Liechtenstein (de_LI)</li>
339<li>Italian, Italy (it_IT)</li>
340<li>Italian, Switzerland (it_CH)</li>
341<li>Japanese (ja_JP)</li>
342<li>Korean (ko_KR)</li>
343<li>Polish (pl_PL)</li>
344<li>Russian (ru_RU)</li>
345<li>Spanish (es_ES)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700346</td>
347</tr>
348</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700349
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700350<p>Localized UI strings match the locales that are accessible
351through Settings.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700352
Dirk Doughertyeeb0b252009-10-22 16:08:32 -0700353<h2 id="skins">Emulator Skins</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700354
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700355<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 -0700356
357<ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700358 <li>
359 QVGA-P (240x320, low density, small screen)
360 </li>
361 <li>
362 QVGA-L (320x480, low density, small screen)
363 </li>
364 <li>
365 HVGA (320x480, medium density, normal screen)
366 </li>
367 <li>
368 HVGA-P (320x480, medium density, normal screen)
369 </li>
370 <li>
371 HVGA-L (320x480, medium density, normal screen)
372 </li>
373</ul>
374
375<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>