blob: 1e4c51be109ac1eeb985dde8cab772a3660cccf2 [file] [log] [blame]
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07001page.title=Android 1.5, Release 3
2sdk.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>
16 <li><a href="#apps">Built-in Applications</a></li>
17 <li><a href="#locs">Locales</a></li>
18 <li><a href="#skins">Emulator Skins</a></li>
19 <li><a href="#notes">Other Notes</a></li>
20 <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>Date:</em> {@sdkPlatformReleaseDate}<br />
38<em>API Level:</em>&nbsp;<strong>{@sdkPlatformApiLevel}</strong></p>
39
40<p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release
41deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}.
42The release includes new features for users and developers, as well as changes
43in the Android framework API. </p>
44
45<p>For developers, the Android {@sdkPlatformVersion} platform is available as a
46downloadable component for the Android SDK. The downloadable platform includes a
47fully compliant Android library and system image, as well as a set of emulator
48skins, sample applications, and more. The downloadable platform is fully
49compliant and includes no external libraries. </p>
50
51<p>To get started developing or testing against the Android
52{@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to
53download the platform into your Android 1.6 or later SDK. For more information,
54see <a href="{@docRoot}sdk/adding-components.html">Adding SDK
55Components</a>.</p>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -070056
57
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070058<h2 id="features">Platform Highlights</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070059
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070060<p>For a list of new user features and platform highlights, see the <a
61href="http://developer.android.com/sdk/android-{@sdkPlatformVersion}-highlights.html">Android
62{@sdkPlatformVersion} Platform Highlights</a> document.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070063
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070064
65<h2 id="apps">Built-in Applications</h2>
66
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070067<p>The system image included in the downloadable platform provides these
68built-in applications:</p>
69
70<table style="border:0;padding-bottom:0;margin-bottom:0;">
71<tr>
72<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070073 <ul>
74 <li>Alarm Clock</li>
75 <li>Browser</li>
76 <li>Calculator</li>
77 <li>Camcorder</li>
78 <li>Camera</li>
79 <li>Contacts</li>
80 <li>Custom Locale (developer app)</li>
81 <li>Dev Tools (developer app)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070082 </ul>
83</td>
84<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
85 <ul>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070086 <li>Dialer</li>
87 <li>Email</li>
88 <li>Gallery</li>
Dirk Dougherty4b508752009-07-16 08:51:33 -070089 <li>IME for Japanese text input</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070090 <li>Messaging</li>
91 <li>Music</li>
92 <li>Settings</li>
93 <li>Spare Parts (developer app)</li>
94 </ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070095</td>
96</tr>
97</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070098
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070099<h2 id="locs" style="margin-top:.75em;">Locales</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700100
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700101<p>The system image included in the downloadable platform provides a variety of
102built-in locales. In some cases, region-specific strings are available for the
103locales. In other cases, a default version of the language is used. The
104languages that will be available in the Android {@sdkPlatformVersion} system image are listed
105below (with <em>language</em>_<em>country/region</em> locale descriptor).</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700106
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700107<table style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Dougherty6edea742009-04-24 11:32:25 -0700108<tr>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700109<td style="border:0;padding-bottom:0;margin-bottom:0;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700110<ul>
111<li>Chinese, PRC (zh_CN)</li>
112<li>Chinese, Taiwan (zh_TW)</li>
113<li>Czech (cs_CZ)</li>
114<li>Dutch, Netherlands (nl_NL)</li>
115<li>Dutch, Belgium (nl_BE)</li>
116<li>English, US (en_US)</li>
117<li>English, Britain (en_GB)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700118<li>English, Canada (en_CA)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700119<li>English, Australia (en_AU)</li>
120<li>English, New Zealand (en_NZ)</li>
121<li>English, Singapore(en_SG)</li>
122<li>French, France (fr_FR)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700123<li>French, Belgium (fr_BE)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700124</ul>
125</td>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700126<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700127<li>French, Canada (fr_CA)</li>
128<li>French, Switzerland (fr_CH)</li>
129<li>German, Germany (de_DE)</li>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700130<li>German, Austria (de_AT)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700131<li>German, Switzerland (de_CH)</li>
132<li>German, Liechtenstein (de_LI)</li>
133<li>Italian, Italy (it_IT)</li>
134<li>Italian, Switzerland (it_CH)</li>
135<li>Japanese (ja_JP)</li>
136<li>Korean (ko_KR)</li>
137<li>Polish (pl_PL)</li>
138<li>Russian (ru_RU)</li>
139<li>Spanish (es_ES)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700140</td>
141</tr>
142</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700143
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700144<p>Localized UI strings match the locales that are accessible
145through Settings.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700146
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700147<h2 id="api-changes">Emulator Skins</h2>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700148
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700149<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 -0700150
151<ul>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700152 <li>
153 QVGA-P (240x320, low density, small screen)
154 </li>
155 <li>
156 QVGA-L (320x480, low density, small screen)
157 </li>
158 <li>
159 HVGA (320x480, medium density, normal screen)
160 </li>
161 <li>
162 HVGA-P (320x480, medium density, normal screen)
163 </li>
164 <li>
165 HVGA-L (320x480, medium density, normal screen)
166 </li>
167</ul>
168
169<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>
170
171
172<h2 id="api">Framework API</h2>
173
174<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
175
176
177<h3 id="api-level">API level</h3>
178
179<p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
180API. As with previous versions, the Android {@sdkPlatformVersion} API
181is assigned an integer identifier &mdash; <strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
182stored in the system itself. This identifier, called the "API Level", allows the
183system to correctly determine whether an application is compatible with
184the system, prior to installing the application. </p>
185
186<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
187set the proper value, "{@sdkPlatformApiLevel}", in the <code>&lt;uses-sdk&gt;</code> attributes in your
188application's manifest. </p>
189
190<p>For more information about how to use API Level, see the <a
191href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
192
193<h3 id="api-changes">API changes summary</h3>
194
195<h4>UI framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700196 <ul>
197 <li>Framework for easier background/UI thread interaction</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700198 <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
199 <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700200 </ul>
201
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700202<h4>AppWidget framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700203 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700204 <li>APIs for creating secure home screen {@link android.appwidget
205AppWidgets}. For information about how to use AppWidgets, see the Developer's
206Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
207documentation. Also see <a
208href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
209Introducing home screen widgets and the AppWidget
210framework</a> on the Android Developer's Blog.</li>
211 <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
212 with custom content.</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700213 </ul>
214
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700215<h4>Media framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700216 <ul>
217 <li>Raw audio recording and playback APIs</li>
218 <li>Interactive MIDI playback engine</li>
219 <li>Video recording APIs for developers (3GP format)</li>
220 <li>Video and photo sharing Intents</li>
221 <li>Media search Intent</li>
222 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700223
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700224<h4>Input Method framework </h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700225 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700226 <li>{@link android.inputmethodservice.InputMethodService Input Method
227 Service} framework</li>
228 <li>Text-prediction engine</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700229 <li>Ability to provide downloadable IMEs to users</li>
230 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700231
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700232<h4>Application-defined hardware requirements</h4>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700233 <p>Applications can now use a new element in their manifest files, <a
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700234href="{@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
Dirk Dougherty6edea742009-04-24 11:32:25 -0700236they 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
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700240<code>&lt;uses-configuration&gt;</code> element and allows the installation to
Dirk Dougherty6edea742009-04-24 11:32:25 -0700241continue only if the required hardware is present.</p>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700242
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700243<h4>Speech recognition framework</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700244 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700245 <li>Support for using speech recognition libraries via Intent. See {@link
246android.speech.RecognizerIntent RecognizerIntent}.</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700247 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700248
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700249<h4>Miscellaneous API additions</h4>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700250 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700251 <li>LocationManager - Applications can get location change updates via
252 Intent</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700253 <li>WebView - Touch start/end/move/cancel DOM event support</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700254 <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
255 APIs}</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700256 <li>GLSurfaceView - convenience framework for creating OpenGL
Dirk Dougherty6edea742009-04-24 11:32:25 -0700257 applications</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700258 <li>Broadcast Intent for app update install succeeded - for smoother app
Dirk Dougherty6edea742009-04-24 11:32:25 -0700259 upgrade experience</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700260 </ul>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -0700261
262
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700263<h3 id="api-diff">API differences report</h3>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -0700264
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700265<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>