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