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