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