• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Android 1.5 Platform
2excludeFromSuggestions=true
3sdk.platform.version=1.5
4sdk.platform.apiLevel=3
5sdk.platform.majorMinor=major
6
7@jd:body
8
9<div id="qv-wrapper">
10<div id="qv">
11
12<h2>In this document</h2>
13<ol>
14  <li><a href="#features">Platform Highlights</a></li>
15  <li><a href="#relnotes">Revisions</a></li>
16  <li><a href="#api-level">API Level</a></li>
17  <li><a href="#api">Framework API Changes</a>
18  <li><a href="#apps">Built-in Applications</a></li>
19  <li><a href="#locs">Locales</a></li>
20  <li><a href="#skins">Emulator Skins</a></li>
21
22    </ol>
23  </li>
24</ol>
25
26<h2>Reference</h2>
27<ol>
28<li><a
29href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
30Differences Report &raquo;</a> </li>
31</ol>
32
33</div>
34</div>
35
36<p>
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 May 2009.
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.</p>
53
54
55<h2 id="features">Platform Highlights</h2>
56
57<p>For a list of new user features and platform highlights, see the <a
58href="http://developer.android.com/about/versions/android-{@sdkPlatformVersion}-highlights.html">Android
59{@sdkPlatformVersion} Platform Highlights</a> document.</p>
60
61<h2 id="relnotes">Revisions</h2>
62
63<p>The sections below provide notes about successive releases of
64the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by
65revision number. To determine what revision(s) of the Android
66{@sdkPlatformVersion} platforms are installed in your SDK environment, refer to
67the "Installed Packages" listing in the Android SDK and AVD Manager.</p>
68
69<script type="text/javascript">
70function toggleDiv(link) {
71  var toggleable = $(link).parent();
72  if (toggleable.hasClass("closed")) {
73    //$(".toggleme", toggleable).slideDown("fast");
74    toggleable.removeClass("closed");
75    toggleable.addClass("open");
76    $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/styles/disclosure_up.png"));
77  } else {
78    //$(".toggleme", toggleable).slideUp("fast");
79    toggleable.removeClass("open");
80    toggleable.addClass("closed");
81    $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/styles/disclosure_down.png"));
82  }
83  return false;
84}
85</script>
86<style>
87.toggleable {
88  padding: .25em 1em 0em 1em;
89  margin-bottom: 0;
90}
91.toggleme {
92  padding: 1em 1em 0 2em;
93  line-height:1em;
94}
95.toggleable a {
96  text-decoration:none;
97}
98.toggleme a {
99  text-decoration:underline;
100}
101.toggleable.closed .toggleme {
102  display:none;
103}
104#body-content .toggle-img {
105  margin:0;
106}
107</style>
108
109<div class="toggleable opened">
110  <a href="#" onclick="return toggleDiv(this)">
111        <img src="{@docRoot}assets/images/styles/disclosure_up.png" class="toggle-img" height="9px" width="9px" />
112        Android 1.5, Revision 4</a> <em>(May 2010)</em></a>
113  <div class="toggleme">
114<dl>
115<dt>Dependencies:</dt>
116<dd>
117<p>Requires SDK Tools r6 or higher.</p>
118</dd>
119
120<dt>Tools:</dt>
121<dd>
122<ul>
123<li>Adds support for library projects in the Ant build system.</li>
124<li>Fixes test project build in the Ant build system.</li>
125</ul>
126</dd>
127
128</dl>
129 </div>
130</div>
131
132<div class="toggleable closed">
133  <a href="#" onclick="return toggleDiv(this)">
134        <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-img" height="9px" width="9px" />
135        Android 1.5, Revision 3</a> <em>(July 2009)</em></a>
136  <div class="toggleme">
137<dl>
138<dt>Dependencies:</dt>
139<dd>
140<p>Requires SDK Tools r3 or higher.</p>
141</dd>
142</dl>
143 </div>
144</div>
145
146<div class="toggleable closed">
147  <a href="#" onclick="return toggleDiv(this)">
148        <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-img" height="9px" width="9px" />
149        Android 1.5, Revision 2</a> <em>(May 2009)</em></a>
150  <div class="toggleme">
151<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
152 </div>
153</div>
154
155<div class="toggleable closed">
156  <a href="#" onclick="return toggleDiv(this)">
157        <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-img" height="9px" width="9px" />
158        Android 1.5, Revision 1</a> <em>(April 2009)</em></a>
159  <div class="toggleme">
160<p>Not available as an SDK component &mdash; please use Android 1.5, r3 instead. </p>
161 </div>
162</div>
163
164
165<h2 id="api-level">API Level</h2>
166
167<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
168the framework API. The Android {@sdkPlatformVersion} API
169is assigned an integer identifier &mdash;
170<strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
171stored in the system itself. This identifier, called the "API Level", allows the
172system to correctly determine whether an application is compatible with
173the system, prior to installing the application. </p>
174
175<p>To use APIs introduced in Android {@sdkPlatformVersion} in your
176application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
177<code>android:minSdkVersion</code> attributes of the <code>&lt;uses-sdk&gt;</code>
178element in your application's manifest. </p>
179
180<p>For more information about how to use API Level, see the <a
181href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API Levels</a> document. </p>
182
183
184<h2 id="api">Framework API Changes</h2>
185
186<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
187
188<h3>UI framework</h3>
189  <ul>
190    <li>Framework for easier background/UI thread interaction</li>
191    <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
192    <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
193  </ul>
194
195<h3>AppWidget framework</h3>
196  <ul>
197    <li>APIs for creating secure home screen {@link android.appwidget
198AppWidgets}. For information about how to use AppWidgets, see the Developer's
199Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
200documentation. Also see <a
201href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
202Introducing home screen widgets and the AppWidget
203framework</a> on the Android Developer's Blog.</li>
204    <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
205        with custom content.</li>
206  </ul>
207
208<h3>Media framework</h3>
209  <ul>
210    <li>Raw audio recording and playback APIs</li>
211    <li>Interactive MIDI playback engine</li>
212    <li>Video recording APIs for developers (3GP format)</li>
213    <li>Video and photo sharing Intents</li>
214    <li>Media search Intent</li>
215  </ul>
216
217<h3>Input Method framework </h3>
218   <ul>
219    <li>{@link android.inputmethodservice.InputMethodService Input Method
220        Service} framework</li>
221    <li>Text-prediction engine</li>
222    <li>Ability to provide downloadable IMEs to users</li>
223  </ul>
224
225<h3>Application-defined hardware requirements</h3>
226
227<p>Applications can now use a new element in their manifest files, <a
228href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code></a>
229 to indicate to the Android system what hardware features
230they require in order to function properly. For example, an application might
231use the element to specify that it requires a physical keyboard or a particular
232navigation device, such as a trackball. Prior to installing the application, the
233Android system checks the attributes defined for the
234<code>&lt;uses-configuration&gt;</code> element and allows the installation to
235continue only if the required hardware is present.</p>
236
237<h3>Speech recognition framework</h3>
238    <ul>
239    <li>Support for using speech recognition libraries via Intent. See {@link
240android.speech.RecognizerIntent RecognizerIntent}.</li>
241  </ul>
242
243<h3>Miscellaneous API additions</h3>
244  <ul>
245    <li>LocationManager - Applications can get location change updates via
246        Intent</li>
247    <li>WebView - Touch start/end/move/cancel DOM event support</li>
248    <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
249        APIs}</li>
250    <li>GLSurfaceView - convenience framework for creating OpenGL
251        applications</li>
252    <li>Broadcast Intent for app update install succeeded - for smoother app
253        upgrade experience</li>
254  </ul>
255
256
257<h3 id="api-diff">API differences report</h3>
258
259<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
260the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
261Differences Report</a>.</p>
262
263
264<h2 id="apps">Built-in Applications</h2>
265
266<p>The system image included in the downloadable platform provides these
267built-in applications:</p>
268
269<table style="border:0;padding-bottom:0;margin-bottom:0;">
270<tr>
271<td style="border:0;padding-bottom:0;margin-bottom:0;">
272	<ul>
273	<li>Alarm Clock</li>
274	<li>Browser</li>
275	<li>Calculator</li>
276	<li>Camcorder</li>
277	<li>Camera</li>
278	<li>Contacts</li>
279	<li>Custom Locale (developer app)</li>
280	<li>Dev Tools (developer app)</li>
281	</ul>
282</td>
283<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
284	<ul>
285	<li>Dialer</li>
286	<li>Email</li>
287	<li>Gallery</li>
288	<li>IME for Japanese text input</li>
289	<li>Messaging</li>
290	<li>Music</li>
291	<li>Settings</li>
292	<li>Spare Parts (developer app)</li>
293	</ul>
294</td>
295</tr>
296</table>
297
298<h2 id="locs" style="margin-top:.75em;">Locales</h2>
299
300<p>The system image included in the downloadable platform provides a variety of
301built-in locales. In some cases, region-specific strings are available for the
302locales. In other cases, a default version of the language is used. The
303languages that are available in the Android {@sdkPlatformVersion} system
304image are listed below (with <em>language</em>_<em>country/region</em>
305locale descriptor).</p>
306
307<table style="border:0;padding-bottom:0;margin-bottom:0;">
308<tr>
309<td style="border:0;padding-bottom:0;margin-bottom:0;">
310<ul>
311<li>Chinese, PRC (zh_CN)</li>
312<li>Chinese, Taiwan (zh_TW)</li>
313<li>Czech (cs_CZ)</li>
314<li>Dutch, Netherlands (nl_NL)</li>
315<li>Dutch, Belgium (nl_BE)</li>
316<li>English, US (en_US)</li>
317<li>English, Britain (en_GB)</li>
318<li>English, Canada (en_CA)</li>
319<li>English, Australia (en_AU)</li>
320<li>English, New Zealand (en_NZ)</li>
321<li>English, Singapore(en_SG)</li>
322<li>French, France (fr_FR)</li>
323<li>French, Belgium (fr_BE)</li>
324</ul>
325</td>
326<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
327<li>French, Canada (fr_CA)</li>
328<li>French, Switzerland (fr_CH)</li>
329<li>German, Germany (de_DE)</li>
330<li>German, Austria (de_AT)</li>
331<li>German, Switzerland (de_CH)</li>
332<li>German, Liechtenstein (de_LI)</li>
333<li>Italian, Italy (it_IT)</li>
334<li>Italian, Switzerland (it_CH)</li>
335<li>Japanese (ja_JP)</li>
336<li>Korean (ko_KR)</li>
337<li>Polish (pl_PL)</li>
338<li>Russian (ru_RU)</li>
339<li>Spanish (es_ES)</li>
340</td>
341</tr>
342</table>
343
344<p>Localized UI strings match the locales that are accessible
345through Settings.</p>
346
347<h2 id="skins">Emulator Skins</h2>
348
349<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>
350
351<ul>
352  <li>
353    QVGA-P (240x320, low density, small screen)
354  </li>
355  <li>
356    QVGA-L (320x480, low density, small screen)
357  </li>
358  <li>
359    HVGA (320x480, medium density, normal screen)
360  </li>
361  <li>
362    HVGA-P (320x480, medium density, normal screen)
363  </li>
364  <li>
365    HVGA-L (320x480, medium density, normal screen)
366  </li>
367</ul>
368
369<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>
370