24db03a79d
Change-Id: I7c9123092742d64d986cdb91803f16987cd6b4da
325 lines
13 KiB
Plaintext
325 lines
13 KiB
Plaintext
page.title=Android 1.6 Version Notes
|
|
|
|
@jd:body
|
|
|
|
<p>
|
|
<em>Date:</em> September 2009<br />
|
|
<em>API Level:</em> <strong>4</strong></p>
|
|
|
|
|
|
<p>This document provides version notes for the Android 1.6 system image included in the SDK. </p>
|
|
|
|
<ul>
|
|
<li><a href="#overview">Overview</a>
|
|
<li><a href="#features">Release Highlights</a>
|
|
<li><a href="#apps">Built-in Applications</a>
|
|
<li><a href="#locs">Locales</a>
|
|
<li><a href="#api-changes">API Changes</a>
|
|
</ul>
|
|
|
|
<h2 id="overview">Overview</h2>
|
|
|
|
<p>The Android 1.6 system delivered in the SDK (as library and system image) is
|
|
the development counterpart to the Android 1.6 production system image, which is
|
|
deployable to Android-powered handsets starting October 2009. The system is
|
|
fully compliant and includes no external libraries. </p>
|
|
|
|
<p>The Android 1.6 system delivers an updated version of the framework
|
|
API. As with previous versions, the Android 1.6 API
|
|
is assigned an integer identifier — <strong>4</strong> — that is
|
|
stored in the system itself. This identifier, called the "API Level", allows the
|
|
system to correctly determine whether an application is compatible with
|
|
the system, prior to installing the application. </p>
|
|
|
|
<p>For more information about how to use API Level, see the <a
|
|
href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
|
|
|
|
<h2 id="features">Highlights</h2>
|
|
|
|
<p>For a list of new user features and platform highlights, see the <a
|
|
href="http://developer.android.com/sdk/android-1.6-highlights.html">Android 1.6 Platform
|
|
Highlights</a> document.</p>
|
|
|
|
<h2 id="apps">Built-in Applications</h2>
|
|
|
|
<p>The system image includes these built-in applications:</p>
|
|
<ul>
|
|
<li>Alarm Clock</li>
|
|
<li>Browser</li>
|
|
<li>Calculator</li>
|
|
<li>Camcorder</li>
|
|
<li>Camera</li>
|
|
<li>Contacts</li>
|
|
<li>Custom Locale (developer app)</li>
|
|
<li>Dev Tools (developer app)</li>
|
|
<li>Dialer</li>
|
|
<li>Email</li>
|
|
<li>Gallery</li>
|
|
<li>Gestures Builder</li>
|
|
<li>IME for Japanese text input</li>
|
|
<li>Messaging</li>
|
|
<li>Music</li>
|
|
<li>Settings</li>
|
|
<li>Spare Parts (developer app)</li>
|
|
</ul>
|
|
|
|
<h2 id="locs">Locales</h2>
|
|
|
|
<p>The system image provides a variety of built-in locales. In some cases,
|
|
region-specific strings are available for the locales. In other cases,
|
|
a default version of the language is used. The languages that will be
|
|
available in the Android 1.6 system image are listed below (with
|
|
<em>language</em>_<em>country/region</em> locale descriptor).</p>
|
|
|
|
<table style="border:0;">
|
|
<tr>
|
|
<td style="border:0">
|
|
<ul style="margin-bottom:0;">
|
|
<li>Arabic, Egypt (ar_EG)</li>
|
|
<li>Arabic, Israel (ar_IL)</li>
|
|
<li>Bulgarian, Bulgaria (bg_BG)</li>
|
|
<li>Chinese, PRC (zh_CN)</li>
|
|
<li>Chinese, Taiwan (zh_TW)</li>
|
|
<li>Croatian, Croatia (hr_HR)</li>
|
|
<li>Czech, Czech Republic (cs_CZ)</li>
|
|
<li>Danish, Denmark (da_DK)</li>
|
|
<li>Dutch, Netherlands (nl_NL)</li>
|
|
<li>Dutch, Belgium (nl_BE)</li>
|
|
<li>English, US (en_US)</li>
|
|
<li>English, Britain (en_GB)</li>
|
|
<li>English, Canada (en_CA)</li>
|
|
<li>English, Australia (en_AU)</li>
|
|
<li>English, India (en_IN)</li>
|
|
<li>English, Ireland (en_IE)</li>
|
|
<li>English, New Zealand (en_NZ)</li>
|
|
<li>English, Singapore (en_SG)</li>
|
|
<li>English, South Africa (en_ZA)</li>
|
|
<li>Finnish, Finland (fi_FI)</li>
|
|
<li>French, France (fr_FR)</li>
|
|
<li>French, Belgium (fr_BE)</li>
|
|
<li>French, Canada (fr_CA)</li>
|
|
<li>French, Switzerland (fr_CH)</li>
|
|
<li>German, Germany (de_DE)</li>
|
|
<li>German, Austria (de_AT)</li>
|
|
<li>German, Switzerland (de_CH)</li>
|
|
<li>German, Liechtenstein (de_LI)</li>
|
|
</ul>
|
|
</td>
|
|
<td style="border:0;padding-left:5em;">
|
|
<ul style="margin-bottom:0;">
|
|
<li>Greek, Greece (el_GR)</li>
|
|
<li>Hindi, India (hi_IN)</li>
|
|
<li>Hungarian, Hungary (hu_HU)</li>
|
|
<li>Indonesian, Indonesia (id_ID)</li>
|
|
<li>Italian, Italy (it_IT)</li>
|
|
<li>Italian, Switzerland (it_CH)</li>
|
|
<li>Japanese, Japan (ja_JP)</li>
|
|
<li>Korean, Korea (ko_KR)</li>
|
|
<li>Latvian, Latvia (lv_LV)</li>
|
|
<li>Lithuanian, Lithuania (lt_LT)</li>
|
|
<li>Norwegian Bokmål, Norway (nb_NO)</li>
|
|
<li>Polish, Poland (pl_PL)</li>
|
|
<li>Portuguese, Brazil (pt_BR)</li>
|
|
<li>Portuguese, Portugal (pt_PT)</li>
|
|
<li>Romanian, Romania (ro_RO)</li>
|
|
<li>Russian, Russia (ru_RU)</li>
|
|
<li>Serbian, Serbia (sr_RS)</li>
|
|
<li>Slovak, Slovakia (sk_SK)</li>
|
|
<li>Slovenian, Slovenia (sl_SI)</li>
|
|
<li>Spanish, Spain (es_ES)</li>
|
|
<li>Spanish, US (es_US)</li>
|
|
<li>Swedish, Sweden (sv_SE)</li>
|
|
<li>Thai, Thailand (th_TH)</li>
|
|
<li>Tagalog, Philippines (tl_PH)</li>
|
|
<li>Turkish, Turkey (tr_TR)</li>
|
|
<li>Ukranian, Ukrania (uk_UA)</li>
|
|
<li>Vietnamese, Vietnam (vi_VN)</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>Localized UI strings match the locales that are accessible
|
|
through Settings.</p>
|
|
|
|
<h2 id="api-changes">API Changes</h2>
|
|
|
|
<h4 id="UIFramework">UI framework</h4>
|
|
<ul>
|
|
<li>New classes in {@link android.view.animation}
|
|
to control the behavior of animations:
|
|
<ul>
|
|
<li><code>AnticipateInterpolator</code></li>
|
|
<li><code>AnticipateOvershootInterpolator</code></li>
|
|
<li><code>BounceInterpolator</code></li>
|
|
<li><code>OvershootInterpolator</code></li>
|
|
</ul>
|
|
</li>
|
|
<li>New XML attribute <code>android:onClick</code> to specify a View's
|
|
<a href="/reference/android/view/View.OnClickListener.html">View.OnClickListener</a>
|
|
from a layout file.
|
|
</li>
|
|
<li>New support for dealing with varying screen densities. Density
|
|
information is associated with Bitmap and Canvas for performing the
|
|
correct scaling. The framework will automatically scale bitmaps and
|
|
nine-patches based on the density the resource was found under and the
|
|
density of the screen, etc.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Search framework</h4>
|
|
<ul>
|
|
<li>Applications can now expose relevant content to users as search
|
|
suggestions in the Quick Search Box, a new device-wide search capability that is
|
|
accessible from the home screen. To support this, the search framework adds new
|
|
attributes to the searchable metadata file. For complete information, see the
|
|
{@link android.app.SearchManager SearchManager} documentation.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Accessibility framework</h4>
|
|
<ul>
|
|
<li>New {@link android.view.accessibility android.accessibility} package
|
|
that includes classes for capturing accessibility events and forwarding them to
|
|
an {@link android.accessibilityservice AccessibilityService} handler. </li>
|
|
<li>New {@link android.accessibilityservice AccessibilityService} package
|
|
that lets your application track user events and provide visual, audible, or
|
|
haptic feedback to the user. </li>
|
|
</ul>
|
|
|
|
<h4>Gesture Input</h4>
|
|
<ul>
|
|
<li>New {@link android.gesture gesture} API for creating, recognizing,
|
|
loading, and saving gestures.</li>
|
|
</ul>
|
|
|
|
<h4>Text-to-speech</h4>
|
|
<ul>
|
|
<li>New {@link android.speech.tts android.speech.tts} package provides
|
|
classes for synthesizing speech from text, for immediate playback or to create a
|
|
sound file.</li>
|
|
</ul>
|
|
|
|
<h4>Graphics</h4>
|
|
<ul>
|
|
<li>Classes in {@link android.graphics android.graphics} now support scaling
|
|
for different screen densities.</li>
|
|
</ul>
|
|
|
|
<h4>Telephony</h4>
|
|
<ul>
|
|
<li>New {@link android.telephony.SmsManager SmsManager} and other classes
|
|
for sending and receiving SMS messages.</li>
|
|
</ul>
|
|
|
|
<h4>Utilities</h4>
|
|
<ul>
|
|
<li>New {@link android.util.DisplayMetrics DisplayMetrics} fields for
|
|
determining the density of the current device screen.</li>
|
|
</ul>
|
|
|
|
<h4 id="AndroidManifest">Android Manifest elements</h4>
|
|
|
|
<ul>
|
|
<li>New <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code
|
|
<supports-screens>}</a> element lets you specify the device screen sizes that your
|
|
application is designed and tested to support, where "size" is a combination
|
|
of resolution and density. If your application is run on a device whose screen
|
|
size is not specified in the <code><supports-screen></code> element, the system
|
|
displays the application in <em>compatibility mode</em>, which performs best-effort scaling
|
|
of the application UI to match the resolution and density of the screen.
|
|
|
|
<p>The attributes available for defining an application's screen support are:
|
|
|
|
<ul>
|
|
|
|
<li><code>smallScreen</code>: Boolean value that indicates whether the
|
|
application is designed to run on devices with small screens.
|
|
Examples: QVGA low density; VGA high density.
|
|
</li>
|
|
<li><code>normalScreens</code>: Boolean value that indicates whether
|
|
the application is designed to run on devices with normal screens.
|
|
Examples: WQVGA low density; HVGA medium density; WVGA high density.
|
|
</li>
|
|
<li><code>largeScreens</code>: Boolean value that indicates whether
|
|
the application is designed to run on devices with significantly
|
|
larger screens, such that special care may be required on
|
|
the application's part to make proper use of the screen area.
|
|
Examples: VGA medium density; WVGA medium density.
|
|
</li>
|
|
<li><code>anyDensity</code>: Boolean value that indicates whether
|
|
the application can accommodate any screen density.
|
|
</li>
|
|
<li><code>resizable</code>: Boolean value that indicates whether
|
|
the application can expand its layout to fit slightly larger screens.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
</li>
|
|
|
|
<li>New <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a>
|
|
element lets an application specify hardware (or other)
|
|
features that it requires to function normally. When an application
|
|
specifies such features, the system allows the application to be installed only
|
|
on devices that offer the required features. The element supports these
|
|
attributes:
|
|
<ul>
|
|
<li><code>name</code>: The name of the feature required by the application. Currently accepts
|
|
"android.hardware.camera" and "android.hardware.camera.autofocus" values, which specify that a
|
|
camera and camera autofocus are required, respectively.</li>
|
|
<li><code>glEsVersion</code>: Indicates the minimum version of OpenGL ES required.</li>
|
|
</ul>
|
|
</li>
|
|
<li>New attributes for the
|
|
<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">{@code <uses-sdk>}</a> element:
|
|
<ul>
|
|
<li><code>maxSdkVersion</code>: This indicates the maximum API Level on which an application is
|
|
designed to run. If an application declares this attribute, the Android system prevents the user
|
|
from installing the application if the system's API Level is higher than the value specified in
|
|
this attribute. </li>
|
|
<li><code>targetSdkVersion</code>: This indicates the API Level that the application is targeting.
|
|
It is able to run on older versions (down to minSdkVersion), but was explicitly tested to
|
|
work with the version specified here. Specifying this version allows the platform to
|
|
disable compatibility code that is not required or enable newer features that are not
|
|
available to older applications. </li>
|
|
</ul>
|
|
</li>
|
|
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>New Permissions</h4>
|
|
|
|
<ul>
|
|
<li>{@link android.Manifest.permission#CHANGE_WIFI_MULTICAST_STATE
|
|
CHANGE_WIFI_MULTICAST_STATE}: Allows applications to enter Wi-Fi
|
|
Multicast mode.
|
|
</li>
|
|
<li>{@link android.Manifest.permission#GLOBAL_SEARCH}: Allows the
|
|
global search system to access the data of a specified content provider.
|
|
</li>
|
|
<li>{@link android.Manifest.permission#INSTALL_LOCATION_PROVIDER INSTALL_LOCATION_PROVIDER}:
|
|
Allows an application to install a location provider into the Location Manager.
|
|
</li>
|
|
<li>{@link android.Manifest.permission#READ_HISTORY_BOOKMARKS READ_HISTORY_BOOKMARKS}:
|
|
Allows an application to read (but not write) the user's browsing history
|
|
and bookmarks.
|
|
</li>
|
|
<li>{@link android.Manifest.permission#WRITE_HISTORY_BOOKMARKS WRITE_HISTORY_BOOKMARKS}:
|
|
Allows an application to write (but not read) the user's browsing history
|
|
and bookmarks.
|
|
</li>
|
|
<li>{@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE}:
|
|
Allows an application to write to external storage. Applications using API Level 3
|
|
and lower will be implicitly granted this permission (and this will be visible to
|
|
the user); Applications using API Level 4 or higher must explicitly request this
|
|
permission.
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
<h3 id="api-diff">API Change Details</h3>
|
|
|
|
<p>For a detailed view of API changes in Android 1.6 (API Level 4), see the <a
|
|
href="{@docRoot}sdk/api_diff/4/changes.html">API Differences Report</a>.</p>
|