1 page.title=Android 1.5 Platform 2 excludeFromSuggestions=true 3 sdk.platform.version=1.5 4 sdk.platform.apiLevel=3 5 sdk.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 29 href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API 30 Differences 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 45 deployable to Android-powered handsets starting in May 2009. 46 The release includes new features for users and developers, as well as changes 47 in the Android framework API. </p> 48 49 <p>For developers, the Android {@sdkPlatformVersion} platform is available as a 50 downloadable component for the Android SDK. The downloadable platform includes a 51 fully compliant Android library and system image, as well as a set of emulator 52 skins, sample applications, and more. The downloadable platform is fully 53 compliant 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 57 download the platform into your Android 1.6 or later SDK. For more information, 58 see <a href="{@docRoot}sdk/exploring.html">Exploring the 59 SDK</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 65 href="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 71 the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by 72 revision number. To determine what revision(s) of the Android 73 {@sdkPlatformVersion} platforms are installed in your SDK environment, refer to 74 the "Installed Packages" listing in the Android SDK and AVD Manager.</p> 75 76 <script type="text/javascript"> 77 function 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 175 the framework API. The Android {@sdkPlatformVersion} API 176 is assigned an integer identifier — 177 <strong>{@sdkPlatformApiLevel}</strong> — that is 178 stored in the system itself. This identifier, called the "API Level", allows the 179 system to correctly determine whether an application is compatible with 180 the system, prior to installing the application. </p> 181 182 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your 183 application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the 184 <code>android:minSdkVersion</code> attributes of the <code><uses-sdk></code> 185 element in your application's manifest. </p> 186 187 <p>For more information about how to use API Level, see the <a 188 href="{@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 205 AppWidgets}. For information about how to use AppWidgets, see the Developer's 206 Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a> 207 documentation. Also see <a 208 href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html"> 209 Introducing home screen widgets and the AppWidget 210 framework</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 235 href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code><uses-configuration></code></a> 236 to indicate to the Android system what hardware features 237 they require in order to function properly. For example, an application might 238 use the element to specify that it requires a physical keyboard or a particular 239 navigation device, such as a trackball. Prior to installing the application, the 240 Android system checks the attributes defined for the 241 <code><uses-configuration></code> element and allows the installation to 242 continue 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 247 android.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 267 the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API 268 Differences 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 274 built-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 308 built-in locales. In some cases, region-specific strings are available for the 309 locales. In other cases, a default version of the language is used. The 310 languages that are available in the Android {@sdkPlatformVersion} system 311 image are listed below (with <em>language</em>_<em>country/region</em> 312 locale 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 352 through 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