blob: 748f3ee4e44b0918d64fa16cafc8a5eb39e5745e [file] [log] [blame]
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -07001page.title=Android 1.5 Version Notes
2sdk.version=1.5_r1
3sys.date=April 2009
4@jd:body
5
6<p>
7<em>Date:</em> April 2009<br />
8<em>API Level:</em>&nbsp;<strong>3</strong></p>
9
10
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070011<p>This document provides version notes for the Android 1.5 system image included in the SDK. </p>
12
13<ul>
14<li><a href="#overview">Overview</a>
15<li><a href="#overview">External Libraries</a>
16<li><a href="#comp">Device Compatibility</a>
17<li><a href="#apps">Built-in Applications</a>
18<li><a href="#locs">UI Localizations</a>
Dirk Dougherty6edea742009-04-24 11:32:25 -070019<li><a href="#features">New Features</a>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070020<li><a href="#api-changes">API Changes</a>
21</ul>
22
23<h2 id="overview">Overview</h2>
24
25<p>The Android 1.5 system delivered in the SDK (as library and system image) is
26the development counterpart to the Android 1.5 production system image,
27deployable to Android-powered handsets starting in May 2009. The system is fully
28compliant and includes no external libraries. This is the first version of the
29Android SDK that does not include the Maps external library.</p>
30
31<p>The Android 1.5 system delivers an updated version of the framework
32API. As with previous versions, the Android 1.5 API
33is assigned an integer identifier &mdash; <strong>3</strong> &mdash; that is
34stored in the system itself. This identifier, called the "API Level", allows the
35system to correctly determine whether an application is compatible with
36the system, prior to installing the application.</p>
37
38<p>Applications can reference a specific API Level value in their
39manifest files, to indicate the minimum version of the Android system
40required to run the application. To reference a minimum API Level, applications
Dirk Dougherty1432cd82009-05-01 10:02:17 -070041can add an <code>android:minSdkVersion</code> attribute in their manifest files.
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070042The value of the attribute is an integer corresponding to an API Level
43identifier. Prior to installing an application, the system then checks the value of
Dirk Dougherty1432cd82009-05-01 10:02:17 -070044<code>android:minSdkVersion</code> and allows the install only
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070045if the referenced integer is less than or equal to the API Level integer stored
46in the system itself. </p>
47
48<p>When you migrate your application to the new SDK, you will need to choose
49the platform version against which you will compile your application. In
50general, you should compile your application against the lowest possible
51version of the platform that your application can support. After you determine
52the lowest version, you should ensure that your application's manifest file
53defines the API Level of the lowest compatible platform version in the
Dirk Dougherty1432cd82009-05-01 10:02:17 -070054<code>android:minSdkVersion</code> attribute.
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070055
56<p>After compiling your application, you should make sure to test it on the
Dirk Dougherty1432cd82009-05-01 10:02:17 -070057platform specified in the application's <code>android:minSdkVersion</code> attribute. To
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070058ensure forward-compatibility, you should also run the application on platforms
59using a higher API Level than that used by your application. To run your
60application against different platform versions in the emulator, you create an
61AVD for each platform version that you want to test. For more information about
62AVDs, see <a href="{@docRoot}guide/developing/tools/avd.html">Android Virtual
63Devices</a>. If you are using a physical device for testing, ensure that you
64know the API Level of the Android platform it runs.</p>
65
66<p>If you build an application using the Android 1.5 library and your
67application makes use of any APIs introduced in API Level 3, you <strong><span
68style="color:red;">must</span></strong> set the
69<code>android:minSdkVersion</code> attribute in the application's manifest to
70"3". </p>
71
72<p>Specifically, you define the <code>android:minSdkVersion</code>
73attribute in a <code>&lt;uses-sdk&gt;</code> element as a child of
74<code>&lt;manifest&gt;</code> in the manifest file. When set, the
75attribute looks like this: </p>
76
77<pre>&lt;manifest&gt;
78 ...
Dirk Dougherty1432cd82009-05-01 10:02:17 -070079 &lt;uses-sdk android:minSdkVersion="3" /&gt;
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070080 ...
81&lt;/manifest&gt;</pre>
82
83<p>By setting <code>android:minSdkVersion</code> in this way, you ensure that
84users will only be able to install your application if their devices are running
85a compatible version of the Android platform. In turn, this ensures that your
86application will function properly on their devices. This is especially
87important if your application uses <a href="#apichange">APIs or system features
88introduced in Android 1.5</a>. </p>
89
90<p>If your application uses APIs introduced in Android 1.5 but does not
Dirk Dougherty1432cd82009-05-01 10:02:17 -070091declare <code>&lt;uses-sdk android:minSdkVersion="3" /&gt;</code>, then it will
Dirk Doughertyfe1f7892009-04-21 18:52:41 -070092run properly on Android 1.5 devices but <em>not</em> on Android 1.0
93devices. In the latter case, the application will crash at runtime when
94it tries to use the Android 1.5 APIs.</p>
95
96<p>Conversely, if your application does not use any new APIs introduced in
97Android 1.5, the application will in most cases function normally on devices
98running a later version of the platform. However, if you have published
99the application, you are strongly encouraged to install and test your
100application on the Android 1.5 system image included in the SDK. This will
101ensure a smooth transition for users, as they upgrade their devices to
102the new version of the Android platform. </p>
103
104<p>Finally, if your application does not use any new APIs introduced since
105Android 1.1, you can indicate general Android 1.1 compatibility by
106setting the attribute to "2". If your application does not use any
107new APIs introduced since Android 1.0, you can remove the attribute or
108set it to "1". However,
109before publishing your application, you must make sure to compile your
110application against the Android library that corresponds to the application's
Dirk Dougherty1432cd82009-05-01 10:02:17 -0700111<code>android:minSdkVeresion</code> value.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700112
113<h2 id="apps">Built-in Applications</h2>
114
115<p>The system image includes these built-in applications:</p>
116 <ul>
117 <li>Alarm Clock</li>
118 <li>Browser</li>
119 <li>Calculator</li>
120 <li>Camcorder</li>
121 <li>Camera</li>
122 <li>Contacts</li>
123 <li>Custom Locale (developer app)</li>
124 <li>Dev Tools (developer app)</li>
125 <li>Dialer</li>
126 <li>Email</li>
127 <li>Gallery</li>
Dirk Dougherty4b508752009-07-16 08:51:33 -0700128 <li>IME for Japanese text input</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700129 <li>Messaging</li>
130 <li>Music</li>
131 <li>Settings</li>
132 <li>Spare Parts (developer app)</li>
133 </ul>
134
135<h2 id="locs">Locales</h2>
136
137<p>The system image provides a variety of built-in locales. In some cases,
138region-specific strings are available for the locales. In other cases,
139a default version of the language is used. The languages that will be
140available in the Android 1.5 system image are listed below (with
141<em>language</em>_<em>country/region</em> locale descriptor).</p>
142
Dirk Dougherty6edea742009-04-24 11:32:25 -0700143<table style="border:0;">
144<tr>
145<td style="border:0">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700146<ul>
147<li>Chinese, PRC (zh_CN)</li>
148<li>Chinese, Taiwan (zh_TW)</li>
149<li>Czech (cs_CZ)</li>
150<li>Dutch, Netherlands (nl_NL)</li>
151<li>Dutch, Belgium (nl_BE)</li>
152<li>English, US (en_US)</li>
153<li>English, Britain (en_GB)</li>
154<li>English, Canada(en_CA)</li>
155<li>English, Australia (en_AU)</li>
156<li>English, New Zealand (en_NZ)</li>
157<li>English, Singapore(en_SG)</li>
158<li>French, France (fr_FR)</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700159<li>French, Belgium (fr_BE)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700160</ul>
161</td>
162<td style="border:0;padding-left:5em;">
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700163<li>French, Canada (fr_CA)</li>
164<li>French, Switzerland (fr_CH)</li>
165<li>German, Germany (de_DE)</li>
166<li>German, Austria(de_AT)</li>
167<li>German, Switzerland (de_CH)</li>
168<li>German, Liechtenstein (de_LI)</li>
169<li>Italian, Italy (it_IT)</li>
170<li>Italian, Switzerland (it_CH)</li>
171<li>Japanese (ja_JP)</li>
172<li>Korean (ko_KR)</li>
173<li>Polish (pl_PL)</li>
174<li>Russian (ru_RU)</li>
175<li>Spanish (es_ES)</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700176</td>
177</tr>
178</table>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700179
180<p>Localized UI strings match the locales that are displayable in
181the emulator, accessible through the device Settings application.</p>
182
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700183<h2 id="features">New Features</h2>
184
185<p>For a list of new system features, see the <a
186href="{@docRoot}sdk/android-1.5-highlights.html">Android 1.5 Platform
187Highlights</a> document.</p>
188
189<h2 id="api-changes">API Changes</h2>
190
191<h3>Overview</strong></h3>
192
193<ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700194<li>UI framework</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700195 <ul>
196 <li>Framework for easier background/UI thread interaction</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700197 <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
198 <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700199 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700200</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700201
Dirk Dougherty6edea742009-04-24 11:32:25 -0700202<li>AppWidget framework
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700203 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700204 <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>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700213 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700214</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700215
Dirk Dougherty6edea742009-04-24 11:32:25 -0700216<li>Media framework</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700217 <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>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700224</li>
225
226<li>Input Method framework
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700227 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700228 <li>{@link android.inputmethodservice.InputMethodService Input Method
229 Service} framework</li>
230 <li>Text-prediction engine</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700231 <li>Ability to provide downloadable IMEs to users</li>
232 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700233</li>
234
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700235<li>Application-defined hardware requirements
Dirk Dougherty6edea742009-04-24 11:32:25 -0700236 <p>Applications can now use a new element in their manifest files, <a
237href="{@docRoot}guide/topics/manifest/uses-configuration-element.html">&lt;uses-
238configuration&gt;</a> to indicate to the Android system what hardware features
239they require in order to function properly. For example, an application might
240use the element to specify that it requires a physical keyboard or a particular
241navigation device, such as a trackball. Prior to installing the application, the
242Android system checks the attributes defined for the
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700243<code>&lt;uses-configuration&gt;</code> element and allows the installation to
Dirk Dougherty6edea742009-04-24 11:32:25 -0700244continue only if the required hardware is present.</p>
245</li>
246
247<li>Speech recognition framework
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700248 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700249 <li>Support for using speech recognition libraries via Intent. See {@link
250android.speech.RecognizerIntent RecognizerIntent}.</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700251 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700252</li>
253
254<li>Miscellaneous API additions
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700255 <ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700256 <li>LocationManager - Applications can get location change updates via
257 Intent</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700258 <li>WebView - Touch start/end/move/cancel DOM event support</li>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700259 <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
260 APIs}</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700261 <li>GLSurfaceView - convenience framework for creating OpenGL
Dirk Dougherty6edea742009-04-24 11:32:25 -0700262 applications</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700263 <li>Broadcast Intent for app update install succeeded - for smoother app
Dirk Dougherty6edea742009-04-24 11:32:25 -0700264 upgrade experience</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700265 </ul>
Dirk Dougherty6edea742009-04-24 11:32:25 -0700266</li>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700267
268</ul>
269
Dirk Dougherty6edea742009-04-24 11:32:25 -0700270<h3 id="api-diff">API Change Details</h3>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700271
272<p>For a detailed view of API changes in this platform (API Level 3), see the <a
273href="{@docRoot}sdk/api_diff/3/changes.html">API Differences Report</a>.</p>
The Android Open Source Projectc2ad2412009-03-19 23:08:54 -0700274
275
276
277
278
279