Home | History | Annotate | Download | only in sdk
      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 &raquo;</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>&nbsp;<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 &mdash; 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 &mdash; 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 &mdash;
    178 <strong>{@sdkPlatformApiLevel}</strong> &mdash; 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>&lt;uses-sdk&gt;</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>&lt;uses-configuration&gt;</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>&lt;uses-configuration&gt;</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