blob: 5dd2d953cc9077542673da3fe09f4f47521be3ca [file] [log] [blame]
Dirk Doughertya6602f12009-08-27 16:26:43 -07001page.title=Android 1.6 Version Notes
2
3@jd:body
4
5<p>
6<em>Date:</em> September 2009<br />
7<em>API Level:</em>&nbsp;<strong>4</strong></p>
8
9
10<p>This document provides version notes for the Android 1.6 system image included in the SDK. </p>
11
12<ul>
13<li><a href="#overview">Overview</a>
Dirk Dougherty24db03a2009-09-09 13:33:45 -070014<li><a href="#features">Release Highlights</a>
Dirk Doughertya6602f12009-08-27 16:26:43 -070015<li><a href="#apps">Built-in Applications</a>
16<li><a href="#locs">Locales</a>
17<li><a href="#api-changes">API Changes</a>
18</ul>
19
20<h2 id="overview">Overview</h2>
21
22<p>The Android 1.6 system delivered in the SDK (as library and system image) is
Dirk Dougherty24db03a2009-09-09 13:33:45 -070023the development counterpart to the Android 1.6 production system image, which is
24deployable to Android-powered handsets starting October 2009. The system is
25fully compliant and includes no external libraries. </p>
Dirk Doughertya6602f12009-08-27 16:26:43 -070026
27<p>The Android 1.6 system delivers an updated version of the framework
28API. As with previous versions, the Android 1.6 API
29is assigned an integer identifier &mdash; <strong>4</strong> &mdash; that is
30stored in the system itself. This identifier, called the "API Level", allows the
31system to correctly determine whether an application is compatible with
32the system, prior to installing the application. </p>
33
34<p>For more information about how to use API Level, see the <a
Dirk Dougherty24db03a2009-09-09 13:33:45 -070035href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
Dirk Doughertya6602f12009-08-27 16:26:43 -070036
Dirk Dougherty24db03a2009-09-09 13:33:45 -070037<h2 id="features">Highlights</h2>
Dirk Doughertya6602f12009-08-27 16:26:43 -070038
Dirk Dougherty24db03a2009-09-09 13:33:45 -070039<p>For a list of new user features and platform highlights, see the <a
Dirk Doughertya6602f12009-08-27 16:26:43 -070040href="http://developer.android.com/sdk/android-1.6-highlights.html">Android 1.6 Platform
41Highlights</a> document.</p>
42
43<h2 id="apps">Built-in Applications</h2>
44
45<p>The system image includes these built-in applications:</p>
46 <ul>
47 <li>Alarm Clock</li>
48 <li>Browser</li>
49 <li>Calculator</li>
50 <li>Camcorder</li>
51 <li>Camera</li>
52 <li>Contacts</li>
53 <li>Custom Locale (developer app)</li>
54 <li>Dev Tools (developer app)</li>
55 <li>Dialer</li>
56 <li>Email</li>
57 <li>Gallery</li>
58 <li>Gestures Builder</li>
59 <li>IME for Japanese text input</li>
60 <li>Messaging</li>
61 <li>Music</li>
62 <li>Settings</li>
63 <li>Spare Parts (developer app)</li>
64 </ul>
65
66<h2 id="locs">Locales</h2>
67
68<p>The system image provides a variety of built-in locales. In some cases,
69region-specific strings are available for the locales. In other cases,
70a default version of the language is used. The languages that will be
71available in the Android 1.6 system image are listed below (with
72<em>language</em>_<em>country/region</em> locale descriptor).</p>
73
74<table style="border:0;">
75<tr>
76<td style="border:0">
77<ul style="margin-bottom:0;">
78<li>Arabic, Egypt (ar_EG)</li>
79<li>Arabic, Israel (ar_IL)</li>
80<li>Bulgarian, Bulgaria (bg_BG)</li>
81<li>Chinese, PRC (zh_CN)</li>
82<li>Chinese, Taiwan (zh_TW)</li>
83<li>Croatian, Croatia (hr_HR)</li>
84<li>Czech, Czech Republic (cs_CZ)</li>
85<li>Danish, Denmark (da_DK)</li>
86<li>Dutch, Netherlands (nl_NL)</li>
87<li>Dutch, Belgium (nl_BE)</li>
88<li>English, US (en_US)</li>
89<li>English, Britain (en_GB)</li>
90<li>English, Canada (en_CA)</li>
91<li>English, Australia (en_AU)</li>
92<li>English, India (en_IN)</li>
93<li>English, Ireland (en_IE)</li>
94<li>English, New Zealand (en_NZ)</li>
95<li>English, Singapore (en_SG)</li>
96<li>English, South Africa (en_ZA)</li>
97<li>Finnish, Finland (fi_FI)</li>
98<li>French, France (fr_FR)</li>
99<li>French, Belgium (fr_BE)</li>
100<li>French, Canada (fr_CA)</li>
101<li>French, Switzerland (fr_CH)</li>
102<li>German, Germany (de_DE)</li>
103<li>German, Austria (de_AT)</li>
104<li>German, Switzerland (de_CH)</li>
105<li>German, Liechtenstein (de_LI)</li>
106</ul>
107</td>
108<td style="border:0;padding-left:5em;">
109<ul style="margin-bottom:0;">
110<li>Greek, Greece (el_GR)</li>
111<li>Hindi, India (hi_IN)</li>
112<li>Hungarian, Hungary (hu_HU)</li>
113<li>Indonesian, Indonesia (id_ID)</li>
114<li>Italian, Italy (it_IT)</li>
115<li>Italian, Switzerland (it_CH)</li>
116<li>Japanese, Japan (ja_JP)</li>
117<li>Korean, Korea (ko_KR)</li>
118<li>Latvian, Latvia (lv_LV)</li>
119<li>Lithuanian, Lithuania (lt_LT)</li>
120<li>Norwegian Bokmål, Norway (nb_NO)</li>
121<li>Polish, Poland (pl_PL)</li>
122<li>Portuguese, Brazil (pt_BR)</li>
123<li>Portuguese, Portugal (pt_PT)</li>
124<li>Romanian, Romania (ro_RO)</li>
125<li>Russian, Russia (ru_RU)</li>
126<li>Serbian, Serbia (sr_RS)</li>
127<li>Slovak, Slovakia (sk_SK)</li>
128<li>Slovenian, Slovenia (sl_SI)</li>
129<li>Spanish, Spain (es_ES)</li>
130<li>Spanish, US (es_US)</li>
131<li>Swedish, Sweden (sv_SE)</li>
132<li>Thai, Thailand (th_TH)</li>
133<li>Tagalog, Philippines (tl_PH)</li>
134<li>Turkish, Turkey (tr_TR)</li>
135<li>Ukranian, Ukrania (uk_UA)</li>
136<li>Vietnamese, Vietnam (vi_VN)</li>
137</ul>
138</td>
139</tr>
140</table>
141
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700142<p>Localized UI strings match the locales that are accessible
143through Settings.</p>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700144
145<h2 id="api-changes">API Changes</h2>
146
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700147<h4 id="UIFramework">UI framework</h4>
148 <ul>
149 <li>New classes in {@link android.view.animation}
150 to control the behavior of animations:
151 <ul>
152 <li><code>AnticipateInterpolator</code></li>
153 <li><code>AnticipateOvershootInterpolator</code></li>
154 <li><code>BounceInterpolator</code></li>
155 <li><code>OvershootInterpolator</code></li>
156 </ul>
157 </li>
158 <li>New XML attribute <code>android:onClick</code> to specify a View's
159<a href="/reference/android/view/View.OnClickListener.html">View.OnClickListener</a>
160from a layout file.
161 </li>
162 <li>New support for dealing with varying screen densities. Density
163information is associated with Bitmap and Canvas for performing the
164correct scaling. The framework will automatically scale bitmaps and
165nine-patches based on the density the resource was found under and the
166density of the screen, etc.
167 </li>
168 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700169
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700170<h4>Search framework</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700171 <ul>
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700172 <li>Applications can now expose relevant content to users as search
173suggestions in the Quick Search Box, a new device-wide search capability that is
174accessible from the home screen. To support this, the search framework adds new
175attributes to the searchable metadata file. For complete information, see the
176{@link android.app.SearchManager SearchManager} documentation.
177 </li>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700178 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700179
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700180<h4>Accessibility framework</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700181 <ul>
182 <li>New {@link android.view.accessibility android.accessibility} package
183that includes classes for capturing accessibility events and forwarding them to
184an {@link android.accessibilityservice AccessibilityService} handler. </li>
185 <li>New {@link android.accessibilityservice AccessibilityService} package
186that lets your application track user events and provide visual, audible, or
187haptic feedback to the user. </li>
188 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700189
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700190<h4>Gesture Input</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700191 <ul>
192 <li>New {@link android.gesture gesture} API for creating, recognizing,
193loading, and saving gestures.</li>
194 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700195
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700196<h4>Text-to-speech</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700197 <ul>
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700198 <li>New {@link android.speech.tts android.speech.tts} package provides
Dirk Doughertya6602f12009-08-27 16:26:43 -0700199classes for synthesizing speech from text, for immediate playback or to create a
200sound file.</li>
201 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700202
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700203<h4>Graphics</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700204 <ul>
205 <li>Classes in {@link android.graphics android.graphics} now support scaling
206for different screen densities.</li>
207 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700208
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700209<h4>Telephony</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700210 <ul>
211 <li>New {@link android.telephony.SmsManager SmsManager} and other classes
212for sending and receiving SMS messages.</li>
213 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700214
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700215<h4>Utilities</h4>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700216 <ul>
217 <li>New {@link android.util.DisplayMetrics DisplayMetrics} fields for
218determining the density of the current device screen.</li>
219 </ul>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700220
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700221<h4 id="AndroidManifest">Android Manifest elements</h4>
222
223 <ul>
224 <li>New <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code
225 &lt;supports-screens>}</a> element lets you specify the device screen sizes that your
226 application is designed and tested to support, where "size" is a combination
227 of resolution and density. If your application is run on a device whose screen
228 size is not specified in the <code>&lt;supports-screen&gt;</code> element, the system
229 displays the application in <em>compatibility mode</em>, which performs best-effort scaling
230 of the application UI to match the resolution and density of the screen.
231
232 <p>The attributes available for defining an application's screen support are:
233
234 <ul>
235
236 <li><code>smallScreen</code>: Boolean value that indicates whether the
237 application is designed to run on devices with small screens.
238 Examples: QVGA low density; VGA high density.
239 </li>
240 <li><code>normalScreens</code>: Boolean value that indicates whether
241 the application is designed to run on devices with normal screens.
242 Examples: WQVGA low density; HVGA medium density; WVGA high density.
243 </li>
244 <li><code>largeScreens</code>: Boolean value that indicates whether
245 the application is designed to run on devices with significantly
246 larger screens, such that special care may be required on
247 the application's part to make proper use of the screen area.
248 Examples: VGA medium density; WVGA medium density.
249 </li>
250 <li><code>anyDensity</code>: Boolean value that indicates whether
251 the application can accommodate any screen density.
252 </li>
253 <li><code>resizable</code>: Boolean value that indicates whether
254 the application can expand its layout to fit slightly larger screens.
255 </li>
256 </ul>
257 </p>
258 </li>
259
260 <li>New <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code &lt;uses-feature>}</a>
261 element lets an application specify hardware (or other)
262 features that it requires to function normally. When an application
263 specifies such features, the system allows the application to be installed only
264 on devices that offer the required features. The element supports these
265 attributes:
266 <ul>
267 <li><code>name</code>: The name of the feature required by the application. Currently accepts
268 "android.hardware.camera" and "android.hardware.camera.autofocus" values, which specify that a
269 camera and camera autofocus are required, respectively.</li>
270 <li><code>glEsVersion</code>: Indicates the minimum version of OpenGL ES required.</li>
271 </ul>
272 </li>
273 <li>New attributes for the
274 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">{@code &lt;uses-sdk>}</a> element:
275 <ul>
276 <li><code>maxSdkVersion</code>: This indicates the maximum API Level on which an application is
277 designed to run. If an application declares this attribute, the Android system prevents the user
278 from installing the application if the system's API Level is higher than the value specified in
279 this attribute. </li>
280 <li><code>targetSdkVersion</code>: This indicates the API Level that the application is targeting.
281 It is able to run on older versions (down to minSdkVersion), but was explicitly tested to
282 work with the version specified here. Specifying this version allows the platform to
283 disable compatibility code that is not required or enable newer features that are not
284 available to older applications. </li>
285 </ul>
286 </li>
287
288 </li>
289 </ul>
290
291<h4>New Permissions</h4>
292
293 <ul>
294 <li>{@link android.Manifest.permission#CHANGE_WIFI_MULTICAST_STATE
295 CHANGE_WIFI_MULTICAST_STATE}: Allows applications to enter Wi-Fi
296 Multicast mode.
297 </li>
298 <li>{@link android.Manifest.permission#GLOBAL_SEARCH}: Allows the
299 global search system to access the data of a specified content provider.
300 </li>
301 <li>{@link android.Manifest.permission#INSTALL_LOCATION_PROVIDER INSTALL_LOCATION_PROVIDER}:
302 Allows an application to install a location provider into the Location Manager.
303 </li>
304 <li>{@link android.Manifest.permission#READ_HISTORY_BOOKMARKS READ_HISTORY_BOOKMARKS}:
305 Allows an application to read (but not write) the user's browsing history
306 and bookmarks.
307 </li>
308 <li>{@link android.Manifest.permission#WRITE_HISTORY_BOOKMARKS WRITE_HISTORY_BOOKMARKS}:
309 Allows an application to write (but not read) the user's browsing history
310 and bookmarks.
311 </li>
312 <li>{@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE}:
313 Allows an application to write to external storage. Applications using API Level 3
314 and lower will be implicitly granted this permission (and this will be visible to
315 the user); Applications using API Level 4 or higher must explicitly request this
316 permission.
317 </li>
318 </ul>
319
Dirk Doughertya6602f12009-08-27 16:26:43 -0700320
321<h3 id="api-diff">API Change Details</h3>
322
Dirk Dougherty24db03a2009-09-09 13:33:45 -0700323<p>For a detailed view of API changes in Android 1.6 (API Level 4), see the <a
Dirk Doughertya6602f12009-08-27 16:26:43 -0700324href="{@docRoot}sdk/api_diff/4/changes.html">API Differences Report</a>.</p>