Doc change: Move framework api change info higher in platform notes documents.
Small adjustment to compatibility doc.
Change-Id: I2af896292b00323d7f4eb2c828c8dea36b9e94ad
diff --git a/docs/html/sdk/android-1.5.jd b/docs/html/sdk/android-1.5.jd
index ab74631..1d6e0ad 100644
--- a/docs/html/sdk/android-1.5.jd
+++ b/docs/html/sdk/android-1.5.jd
@@ -10,25 +10,31 @@
<div id="qv-wrapper">
<div id="qv">
- <h2>In this document</h2>
- <ol>
- <li><a href="#features">Platform Highlights</a></li>
- <li><a href="#relnotes">Revisions</a></li>
- <li><a href="#apps">Built-in Applications</a></li>
- <li><a href="#locs">Locales</a></li>
- <li><a href="#skins">Emulator Skins</a></li>
- <li><a href="#api">Framework API</a>
- <ol>
- <li><a href="#api-level">API level</a></li>
- <li><a href="#api-changes">API changes summary</a></li>
- <li><a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API differences report »</a> </li>
- </ol></li>
- </ol>
+<h2>In this document</h2>
+<ol>
+ <li><a href="#features">Platform Highlights</a></li>
+ <li><a href="#relnotes">Revisions</a></li>
+ <li><a href="#api-level">API Level</a></li>
+ <li><a href="#api">Framework API Changes</a>
+ <li><a href="#apps">Built-in Applications</a></li>
+ <li><a href="#locs">Locales</a></li>
+ <li><a href="#skins">Emulator Skins</a></li>
- <h2>See Also</h2>
- <ol>
- <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
- </ol>
+ </ol>
+ </li>
+</ol>
+
+<h2>Reference</h2>
+<ol>
+<li><a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report »</a> </li>
+</ol>
+
+<h2>See Also</h2>
+<ol>
+ <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
+</ol>
</div>
</div>
@@ -87,7 +93,8 @@
</script>
<style>
.toggleable {
-padding: .25em 1em;
+ padding: .25em 1em 0em 1em;
+ margin-bottom: 0;
}
.toggleme {
padding: 1em 1em 0 2em;
@@ -162,6 +169,106 @@
</div>
</div>
+
+<h2 id="api-level">API Level</h2>
+
+<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
+the framework API. The Android {@sdkPlatformVersion} API
+is assigned an integer identifier —
+<strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your
+application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
+<code>android:minSdkVersion</code> attributes of the <code><uses-sdk></code>
+element in your application's manifest. </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="api">Framework API Changes</h2>
+
+<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
+
+<h3>UI framework</h3>
+ <ul>
+ <li>Framework for easier background/UI thread interaction</li>
+ <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
+ <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
+ </ul>
+
+<h3>AppWidget framework</h3>
+ <ul>
+ <li>APIs for creating secure home screen {@link android.appwidget
+AppWidgets}. For information about how to use AppWidgets, see the Developer's
+Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
+documentation. Also see <a
+href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
+Introducing home screen widgets and the AppWidget
+framework</a> on the Android Developer's Blog.</li>
+ <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
+ with custom content.</li>
+ </ul>
+
+<h3>Media framework</h3>
+ <ul>
+ <li>Raw audio recording and playback APIs</li>
+ <li>Interactive MIDI playback engine</li>
+ <li>Video recording APIs for developers (3GP format)</li>
+ <li>Video and photo sharing Intents</li>
+ <li>Media search Intent</li>
+ </ul>
+
+<h3>Input Method framework </h3>
+ <ul>
+ <li>{@link android.inputmethodservice.InputMethodService Input Method
+ Service} framework</li>
+ <li>Text-prediction engine</li>
+ <li>Ability to provide downloadable IMEs to users</li>
+ </ul>
+
+<h3>Application-defined hardware requirements</h3>
+
+<p>Applications can now use a new element in their manifest files, <a
+href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code><uses-configuration></code></a>
+ to indicate to the Android system what hardware features
+they require in order to function properly. For example, an application might
+use the element to specify that it requires a physical keyboard or a particular
+navigation device, such as a trackball. Prior to installing the application, the
+Android system checks the attributes defined for the
+<code><uses-configuration></code> element and allows the installation to
+continue only if the required hardware is present.</p>
+
+<h3>Speech recognition framework</h3>
+ <ul>
+ <li>Support for using speech recognition libraries via Intent. See {@link
+android.speech.RecognizerIntent RecognizerIntent}.</li>
+ </ul>
+
+<h3>Miscellaneous API additions</h3>
+ <ul>
+ <li>LocationManager - Applications can get location change updates via
+ Intent</li>
+ <li>WebView - Touch start/end/move/cancel DOM event support</li>
+ <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
+ APIs}</li>
+ <li>GLSurfaceView - convenience framework for creating OpenGL
+ applications</li>
+ <li>Broadcast Intent for app update install succeeded - for smoother app
+ upgrade experience</li>
+ </ul>
+
+
+<h3 id="api-diff">API differences report</h3>
+
+<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
+the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report</a>.</p>
+
+
<h2 id="apps">Built-in Applications</h2>
<p>The system image included in the downloadable platform provides these
@@ -268,101 +375,3 @@
</ul>
<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>
-
-
-<h2 id="api">Framework API</h2>
-
-<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
-
-
-<h3 id="api-level">API level</h3>
-
-<p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
-API. As with previous versions, the Android {@sdkPlatformVersion} API
-is assigned an integer identifier — <strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
-set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code><uses-sdk></code>
-element in your application's manifest. </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>
-
-<h3 id="api-changes">API changes summary</h3>
-
-<h4>UI framework</h4>
- <ul>
- <li>Framework for easier background/UI thread interaction</li>
- <li>New {@link android.widget.SlidingDrawer SlidingDrawer} widget</li>
- <li>New {@link android.widget.HorizontalScrollView HorizontalScrollview} widget</li>
- </ul>
-
-<h4>AppWidget framework</h4>
- <ul>
- <li>APIs for creating secure home screen {@link android.appwidget
-AppWidgets}. For information about how to use AppWidgets, see the Developer's
-Guide <a href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a>
-documentation. Also see <a
-href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
-Introducing home screen widgets and the AppWidget
-framework</a> on the Android Developer's Blog.</li>
- <li>APIs for populating {@link android.provider.LiveFolders Live Folders}
- with custom content.</li>
- </ul>
-
-<h4>Media framework</h4>
- <ul>
- <li>Raw audio recording and playback APIs</li>
- <li>Interactive MIDI playback engine</li>
- <li>Video recording APIs for developers (3GP format)</li>
- <li>Video and photo sharing Intents</li>
- <li>Media search Intent</li>
- </ul>
-
-<h4>Input Method framework </h4>
- <ul>
- <li>{@link android.inputmethodservice.InputMethodService Input Method
- Service} framework</li>
- <li>Text-prediction engine</li>
- <li>Ability to provide downloadable IMEs to users</li>
- </ul>
-
-<h4>Application-defined hardware requirements</h4>
- <p>Applications can now use a new element in their manifest files, <a
-href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code><uses-configuration></code></a>
- to indicate to the Android system what hardware features
-they require in order to function properly. For example, an application might
-use the element to specify that it requires a physical keyboard or a particular
-navigation device, such as a trackball. Prior to installing the application, the
-Android system checks the attributes defined for the
-<code><uses-configuration></code> element and allows the installation to
-continue only if the required hardware is present.</p>
-
-<h4>Speech recognition framework</h4>
- <ul>
- <li>Support for using speech recognition libraries via Intent. See {@link
-android.speech.RecognizerIntent RecognizerIntent}.</li>
- </ul>
-
-<h4>Miscellaneous API additions</h4>
- <ul>
- <li>LocationManager - Applications can get location change updates via
- Intent</li>
- <li>WebView - Touch start/end/move/cancel DOM event support</li>
- <li>Redesigned {@link android.hardware.SensorManager Sensor Manager
- APIs}</li>
- <li>GLSurfaceView - convenience framework for creating OpenGL
- applications</li>
- <li>Broadcast Intent for app update install succeeded - for smoother app
- upgrade experience</li>
- </ul>
-
-
-<h3 id="api-diff">API differences report</h3>
-
-<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
-the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
-Differences Report</a>.</p>
diff --git a/docs/html/sdk/android-1.6.jd b/docs/html/sdk/android-1.6.jd
index d7d14e9..c2651b6 100644
--- a/docs/html/sdk/android-1.6.jd
+++ b/docs/html/sdk/android-1.6.jd
@@ -10,25 +10,31 @@
<div id="qv-wrapper">
<div id="qv">
- <h2>In this document</h2>
- <ol>
- <li><a href="#features">Platform Highlights</a></li>
- <li><a href="#relnotes">Revisions</a></li>
- <li><a href="#apps">Built-in Applications</a></li>
- <li><a href="#locs">Locales</a></li>
- <li><a href="#skins">Emulator Skins</a></li>
- <li><a href="#api">Framework API</a>
- <ol>
- <li><a href="#api-level">API level</a></li>
- <li><a href="#api-changes">API changes summary</a></li>
- <li><a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API differences report »</a> </li>
- </ol></li>
- </ol>
+<h2>In this document</h2>
+<ol>
+ <li><a href="#features">Platform Highlights</a></li>
+ <li><a href="#relnotes">Revisions</a></li>
+ <li><a href="#api-level">API Level</a></li>
+ <li><a href="#api">Framework API Changes</a>
+ <li><a href="#apps">Built-in Applications</a></li>
+ <li><a href="#locs">Locales</a></li>
+ <li><a href="#skins">Emulator Skins</a></li>
- <h2>See Also</h2>
- <ol>
- <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
- </ol>
+ </ol>
+ </li>
+</ol>
+
+<h2>Reference</h2>
+<ol>
+<li><a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report »</a> </li>
+</ol>
+
+<h2>See Also</h2>
+<ol>
+ <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
+</ol>
</div>
</div>
@@ -89,7 +95,8 @@
</script>
<style>
.toggleable {
-padding: .25em 1em;
+ padding: .25em 1em 0em 1em;
+ margin-bottom: 0;
}
.toggleme {
padding: 1em 1em 0 2em;
@@ -186,6 +193,212 @@
</div>
</div>
+
+<h2 id="api-level">API Level</h2>
+
+<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
+the framework API. The Android {@sdkPlatformVersion} API
+is assigned an integer identifier —
+<strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your
+application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
+<code>android:minSdkVersion</code> attributes of the <code><uses-sdk></code>
+element in your application's manifest. </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="api">Framework API Changes</h2>
+
+<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
+
+<h3 id="UIFramework">UI framework</h3>
+ <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><p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
+set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code><uses-sdk></code>
+element in your application's manifest. </p>
+ </ul>
+
+<h3>Search framework</h3>
+ <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>
+
+<h3>Accessibility framework</h3>
+ <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>
+
+<h3>Gesture input</h3>
+ <ul>
+ <li>New {@link android.gesture gesture} API for creating, recognizing,
+loading, and saving gestures.</li>
+ </ul>
+
+<h3>Text-to-speech</h3>
+ <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>
+
+<h3>Graphics</h3>
+ <ul>
+ <li>Classes in {@link android.graphics android.graphics} now support scaling
+for different screen densities.</li>
+ </ul>
+
+<h3>Telephony</h3>
+ <ul>
+ <li>New {@link android.telephony.SmsManager SmsManager} and other classes
+for sending and receiving SMS messages.</li>
+ </ul>
+
+<h3>Utilities</h3>
+ <ul>
+ <li>New {@link android.util.DisplayMetrics DisplayMetrics} fields for
+determining the density of the current device screen.</li>
+ </ul>
+
+<h3 id="AndroidManifest">Android Manifest elements</h3>
+
+ <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>targetSdkVersion</code>: 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>
+ <li><code>maxSdkVersion</code>: Indicates the maximum API Level on which an application is
+ designed to run. <strong>Important:</strong> Please read the <a
+ href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a>
+ documentation before using this attribute. </li>
+ </ul>
+ </li>
+
+ </li>
+ </ul>
+
+<h3>New permissions</h3>
+
+ <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 differences report</h3>
+
+<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
+the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report</a>.</p>
+
<h2 id="apps">Built-in Applications</h2>
<p>The system image included in the downloadable platform provides these
@@ -292,209 +505,3 @@
</ul>
<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>
-
-
-<h2 id="api">Framework API</h2>
-
-<p>The sections below provide information about the application framework API provided by the Android {@sdkPlatformVersion} platform. </p>
-
-
-<h3 id="api-level">API level</h3>
-
-<p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
-API. As with previous versions, the Android {@sdkPlatformVersion} API
-is assigned an integer identifier — <strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
-set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code><uses-sdk></code>
-element in your application's manifest. </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>
-
-<h3 id="api-changes">API changes summary</h3>
-
-<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><p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
-set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code><uses-sdk></code>
-element in your application's manifest. </p>
- </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>targetSdkVersion</code>: 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>
- <li><code>maxSdkVersion</code>: Indicates the maximum API Level on which an application is
- designed to run. <strong>Important:</strong> Please read the <a
- href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a>
- documentation before using this attribute. </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 differences report</h3>
-
-<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
-the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
-Differences Report</a>.</p>
diff --git a/docs/html/sdk/android-2.1.jd b/docs/html/sdk/android-2.1.jd
index db9c491..7490bae 100644
--- a/docs/html/sdk/android-2.1.jd
+++ b/docs/html/sdk/android-2.1.jd
@@ -13,20 +13,23 @@
<ol>
<li><a href="#features">Platform Highlights</a></li>
<li><a href="#relnotes">Revisions</a></li>
+ <li><a href="#api-level">API Level</a></li>
+ <li><a href="#api">Framework API Changes</a>
<li><a href="#apps">Built-in Applications</a></li>
<li><a href="#locs">Locales</a></li>
<li><a href="#skins">Emulator Skins</a></li>
- <li><a href="#api">Framework API</a>
- <ol>
- <li><a href="#api-level">API level</a></li>
- <li><a href="#api-changes">API changes summary</a></li>
- <li><a
-href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
-differences report »</a> </li>
+
</ol>
</li>
</ol>
+<h2>Reference</h2>
+<ol>
+<li><a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report »</a> </li>
+</ol>
+
<h2>See Also</h2>
<ol>
<li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
@@ -90,7 +93,8 @@
</script>
<style>
.toggleable {
-padding: .25em 1em;
+ padding: .25em 1em 0em 1em;
+ margin-bottom: 0;
}
.toggleme {
padding: 1em 1em 0 2em;
@@ -147,6 +151,115 @@
</div>
</div>
+
+<h2 id="api-level">API Level</h2>
+
+<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
+the framework API. The Android {@sdkPlatformVersion} API
+is assigned an integer identifier —
+<strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your
+application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
+<code>android:minSdkVersion</code> attributes of the <code><uses-sdk></code>
+element in your application's manifest. </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="api">Framework API Changes</h2>
+
+<p>The sections below provide information about changes made to the application
+framework API provided by the Android {@sdkPlatformVersion} platform.</p>
+
+<h3>Live Wallpapers</h3>
+
+<p>The following additions provide APIs for you to develop animated wallpapers:</p>
+<ul>
+<li>New {@link android.service.wallpaper} package.</li>
+<li>New {@link android.app.WallpaperInfo} class.</li>
+<li>Updated {@link android.app.WallpaperManager}.</li>
+</ul>
+
+<p>Additionally, if your application uses or provides Live Wallpapers, you must
+remember to add a <a
+href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a>
+ element to the application's manifest, declaring the attribute
+<code>android:name="android.software.live_wallpaper"</code>. For example:</p>
+
+<pre class="no-pretty-print">
+<uses-feature android:name="android.software.live_wallpaper" />
+</pre>
+
+<p>When you've published your application, Android Market checks for the
+presence of this element and uses it as a filter, ensuring that your application
+is not made available to users whose devices do not support Live Wallpapers.
+</p>
+
+<h3>Telephony</h3>
+
+<ul>
+<li>New {@link android.telephony.SignalStrength} class provides information
+about the device's current network signal. This can be acquired from the
+new {@link
+android.telephony.PhoneStateListener#onSignalStrengthsChanged(SignalStrength)}
+callback.</li>
+
+<li>New {@link
+android.telephony.PhoneStateListener#onDataConnectionStateChanged(int,int)}
+callback.</li>
+</ul>
+
+<h3>Views</h3>
+
+<ul>
+<li>New {@link android.view.View} methods {@link android.view.View#isOpaque()}
+and {@link android.view.View#onDrawScrollBars(Canvas)}.</li>
+
+<li>New {@link android.widget.RemoteViews} methods {@link
+android.widget.RemoteViews#addView(int,RemoteViews)} and {@link
+android.widget.RemoteViews#removeAllViews(int)}.</li>
+
+<li>New {@link android.view.ViewGroup} methods {@link
+android.view.ViewGroup#isChildrenDrawingOrderEnabled()} and {@link
+android.view.ViewGroup#setChildrenDrawingOrderEnabled(boolean)}.</li>
+</ul>
+
+<h3>WebKit</h3>
+
+<ul>
+<li>New {@link android.webkit.WebStorage} methods to manipulate web
+storage databases.</li>
+
+<li>New {@link android.webkit.GeolocationPermissions} methods to
+get Geolocation permissions from, and set them on the WebView.</li>
+
+<li>New {@link android.webkit.WebSettings} methods to manage settings for
+app cache, web storage, and zooming based on screen density.</li>
+
+<li>New {@link android.webkit.WebChromeClient} methods for handling video,
+browsing history, custom Views, app cache limits, and more.</li>
+</ul>
+
+</ul>
+
+<!--
+<h3 id="behavior-changes">Behavior changes</h3>
+
+<h3 id="bug-fixes">Bug fixes</h3>
+-->
+
+<h3 id="api-diff">API differences report</h3>
+
+<p>For a detailed view of all API changes in Android {@sdkPlatformVersion} (API
+Level {@sdkPlatformApiLevel}), as compared to API Level 6, see the <a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report</a>.</p>
+
<h2 id="apps">Built-in Applications</h2>
<p>The system image included in the downloadable platform provides these
@@ -262,117 +375,3 @@
and functions properly on all Android-powered devices, see <a
href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
Screens</a>.</p>
-
-<h2 id="api">Framework API</h2>
-
-<p>The sections below provide information about changes made to the application
-framework API provided by the Android {@sdkPlatformVersion} platform.</p>
-
-
-<h3 id="api-level">API level</h3>
-
-<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
-the framework API. The Android {@sdkPlatformVersion} API
-is assigned an integer identifier —
-<strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your
-application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
-attributes of the <code><uses-sdk></code> element in your application's
-manifest. </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>
-
-
-<h3 id="api-changes">API changes summary</h3>
-
-<p>The following is a summary of some notable changes to the framework APIs.</p>
-
-<h4>Live Wallpapers</h4>
-
-<p>The following additions provide APIs for you to develop animated wallpapers:</p>
-<ul>
-<li>New {@link android.service.wallpaper} package.</li>
-<li>New {@link android.app.WallpaperInfo} class.</li>
-<li>Updated {@link android.app.WallpaperManager}.</li>
-</ul>
-
-<p>Additionally, if your application uses or provides Live Wallpapers, you must
-remember to add a <a
-href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a>
- element to the application's manifest, declaring the attribute
-<code>android:name="android.software.live_wallpaper"</code>. For example:</p>
-
-<pre class="no-pretty-print">
-<uses-feature android:name="android.software.live_wallpaper" />
-</pre>
-
-<p>When you've published your application, Android Market checks for the
-presence of this element and uses it as a filter, ensuring that your application
-is not made available to users whose devices do not support Live Wallpapers.
-</p>
-
-<h4>Telephony</h4>
-
-<ul>
-<li>New {@link android.telephony.SignalStrength} class provides information
-about the device's current network signal. This can be acquired from the
-new {@link
-android.telephony.PhoneStateListener#onSignalStrengthsChanged(SignalStrength)}
-callback.</li>
-
-<li>New {@link
-android.telephony.PhoneStateListener#onDataConnectionStateChanged(int,int)}
-callback.</li>
-</ul>
-
-<h4>Views</h4>
-
-<ul>
-<li>New {@link android.view.View} methods {@link android.view.View#isOpaque()}
-and {@link android.view.View#onDrawScrollBars(Canvas)}.</li>
-
-<li>New {@link android.widget.RemoteViews} methods {@link
-android.widget.RemoteViews#addView(int,RemoteViews)} and {@link
-android.widget.RemoteViews#removeAllViews(int)}.</li>
-
-<li>New {@link android.view.ViewGroup} methods {@link
-android.view.ViewGroup#isChildrenDrawingOrderEnabled()} and {@link
-android.view.ViewGroup#setChildrenDrawingOrderEnabled(boolean)}.</li>
-</ul>
-
-<h4>WebKit</h4>
-
-<ul>
-<li>New {@link android.webkit.WebStorage} methods to manipulate web
-storage databases.</li>
-
-<li>New {@link android.webkit.GeolocationPermissions} methods to
-get Geolocation permissions from, and set them on the WebView.</li>
-
-<li>New {@link android.webkit.WebSettings} methods to manage settings for
-app cache, web storage, and zooming based on screen density.</li>
-
-<li>New {@link android.webkit.WebChromeClient} methods for handling video,
-browsing history, custom Views, app cache limits, and more.</li>
-</ul>
-
-</ul>
-
-<!--
-<h3 id="behavior-changes">Behavior changes</h3>
-
-<h3 id="bug-fixes">Bug fixes</h3>
--->
-
-<h3 id="api-diff">API differences report</h3>
-
-<p>For a detailed view of all API changes in Android {@sdkPlatformVersion} (API
-Level {@sdkPlatformApiLevel}), as compared to API Level 6, see the <a
-href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
-Differences Report</a>.</p>
-
diff --git a/docs/html/sdk/android-2.2.jd b/docs/html/sdk/android-2.2.jd
index ab261f0..f82edf9 100644
--- a/docs/html/sdk/android-2.2.jd
+++ b/docs/html/sdk/android-2.2.jd
@@ -13,20 +13,23 @@
<ol>
<li><a href="#features">Platform Highlights</a></li>
<li><a href="#relnotes">Revisions</a></li>
+ <li><a href="#api-level">API Level</a></li>
+ <li><a href="#api">Framework API Changes</a>
<li><a href="#apps">Built-in Applications</a></li>
<li><a href="#locs">Locales</a></li>
<li><a href="#skins">Emulator Skins</a></li>
- <li><a href="#api">Framework API</a>
- <ol>
- <li><a href="#api-level">API level</a></li>
- <li><a href="#api-changes">API changes summary</a></li>
- <li><a
-href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
-differences report »</a> </li>
+
</ol>
</li>
</ol>
+<h2>Reference</h2>
+<ol>
+<li><a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report »</a> </li>
+</ol>
+
<h2>See Also</h2>
<ol>
<li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
@@ -91,7 +94,8 @@
</script>
<style>
.toggleable {
-padding: .25em 1em;
+ padding: .25em 1em 0em 1em;
+ margin-bottom: 0;
}
.toggleme {
padding: 1em 1em 0 2em;
@@ -131,6 +135,201 @@
</div>
</div>
+
+<h2 id="api-level">API Level</h2>
+
+<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
+the framework API. The Android {@sdkPlatformVersion} API
+is assigned an integer identifier —
+<strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your
+application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
+<code>android:minSdkVersion</code> attributes of the <code><uses-sdk></code>
+element in your application's manifest. </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="api">Framework API Changes</h2>
+
+<p>The sections below provide information about changes made to the application
+framework API provided by the Android {@sdkPlatformVersion} platform.</p>
+
+<h3 id="install-loc">App installation on external storage media</h3>
+
+<p>The Android platform now allows applications to request installation onto the
+device's external storage media (such as the SD card), as an alternative to
+installation onto the device's internal memory. </p>
+
+<p>Application developers can express the preferred installation location for
+their applications by means of a new attribute of <code><manifest></code>
+in the manifest file, <a
+href="{@docRoot}guide/topics/manifest/manifest-element.html#install"><code>
+android:installLocation</code></a>. The attribute supports three values:
+<code>"internalOnly"</code>, <code>"preferExternal"</code>, and
+<code>"auto"</code>. At install time, the system checks the value of
+<code>android:installLocation</code> and installs the application
+<code>.apk</code> according to the preferred location, if possible. If the
+application has requested external installation, the system installs it into a
+private, encrypted partition in the external media. Once an application .apk is
+installed externally, the system lets the user change the storage location of
+the .apk and move it onto the device's internal memory if needed (and vice
+versa), through Manage Applications in the user settings.</p>
+
+<p>By default, the system installs all applications onto the device's internal
+memory, except for those that explicitly request external installation. This
+means that the system will always install legacy applications onto internal
+memory, since they do not have access to the
+<code>android:installLocation</code> attribute. However, it is possible to
+configure and compile a legacy application such that it is installed internally
+on older versions of the platform and externally on Android 2.2 and later
+platforms, if necessary. </p>
+
+<p>Note that requesting installation onto the device's external media is not
+suitable for all applications, particularly because the external media may be
+removable and unmounting/remounting may disrupt the user experience and system
+settings.</p>
+
+<p>For more information about setting a preferred install location for your
+application, including a discussion of what types of applications should and
+should not request external installation, please read the <a
+href="{@docRoot}guide/appendix/install-location.html">App Install Location</a>
+document. </p>
+
+<h3 id="backup-manager">Data backup</h3>
+
+<p>The platform now provides a generalized backup service that
+applications can use to backup and restore user data, to ensure that users can
+maintain their data when switching devices or reinstalling the application. The
+Backup Manager handles the work of transporting the application data to and from
+the backup storage area in the cloud. The Backup Manager can store any type of
+data, from arbitrary data to files, and manages backup and restore operations
+in an atomic manner. For more information, see <a
+href="{@docRoot}guide/topics/data/backup.html">Data Backup</a>.</p>
+
+<h3>Graphics</h3>
+
+<ul>
+<li>New OpenGL ES 2.0 APIs in {@link android.opengl.GLES20 android.opengl.GLES20}.</li>
+<li>New {@link android.opengl.ETC1}, {@link android.opengl.ETC1Util}, and {@link android.opengl.ETC1Util.ETC1Texture} classes and utility methods for using ETC1 for texture compression.</li>
+<li>New {@link android.graphics.ImageFormat} class.</li>
+<li>New {@link android.graphics.YuvImage YUV image format API} to enable compression from YUV to JPEG and manipulation of YUV data.</li>
+</ul>
+
+<h3>Media</h3>
+
+<ul>
+<li>New APIs in {@link android.media.AudioManager android.media.AudioManager} for managing audio focus, transport control, transient loss of audio focus, ducking.</li>
+<li>New broadcast intent for routing audio to SCO — {@link android.media.AudioManager#ACTION_SCO_AUDIO_STATE_CHANGED} with extras indicating new state.</li>
+<li>New APIs in {@link android.media.SoundPool} to detect completion of sound-loading.</li>
+<li>New APIs in {@link android.media.SoundPool} for auto pause and resume.</li>
+<li>New APIs in {@link android.media.MediaRecorder} for specifying audio settings for number of channels, encoding and sampling rates, sampling rate.</li>
+<li>New APIs for adding files to the media database, so that they are automatically scanned. See {@link android.media.MediaScannerConnection#scanFile(Context, String[], String[], OnScanCompletedListener) MediaScannerConnection.scanFile} and {@link android.media.MediaScannerConnection.OnScanCompletedListener MediaScannerConnection.OnScanCompletedListener}.</li>
+</ul>
+
+<h3>Speech recognition and third-party recognition engines</h3>
+
+<ul>
+<li>The platform provides new speech-recognition APIs that allow applications to have a richer interaction with the available voice recognizer. For example, the APIs are sufficient to integrate voice recognition deeply into an IME.</li>
+<li>The platform also provides a {@link android.speech.RecognitionService} base class that lets third-party developers create plug-in recognition engines. </li>
+<li>New {@link android.speech.RecognitionListener} interface to receive callbacks.</li>
+<li>New {@link android.speech.RecognizerIntent} extras that let a requester app specify details as preferred language, minimum length in milliseconds, and so on.</li>
+</ul>
+
+<h3>Camera and camcorder</h3>
+
+<ul>
+<li>Changes to camera preview API to improve efficieny of preview pipeline. </li>
+<li>New display orientation for camera (it can now work in portrait orientation).</li>
+<li>New APIs in {@link android.hardware.Camera android.hardware.Camera} for managing zoom level.</li>
+<li>New APIs {@link android.hardware.Camera.Parameters android.hardware.Camera.Parameters} for querying and setting device camera settings such as focal length, exposure, zoom level, view angle, and others.</li>
+<li>New {@link android.media.ThumbnailUtils thumbnail} utility for video and image thumbnails.</li>
+<li>New {@link android.media.CamcorderProfile} and {@link android.media.CamcorderProfile} classes enable apps to determine device hardware camera capablities.</li>
+<li>New support in {@link android.media.ExifInterface android.media.ExifInterface} for retrieving GPS and focal length.</li>
+</ul>
+
+<h3>Device policy manager</h3>
+
+<p>New device policy management APIs allow developers to write "device
+administrator" applications that can control security features of the device,
+such as the minimum password strength, data wipe, and so on. Users can select
+the administrators that are enabled on their devices. For more information, see
+the {@link android.app.admin android.app.admin} classees or the example
+application code in <a
+href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.html">DeviceAdminSample.java</a>.</p>
+
+<h3>UI Framework</h3>
+
+<ul>
+<li>New UI modes "car mode" and "night mode" and {@link android.app.UiModeManager} let applications adjust their application UI for specific user modes. </li>
+<li>New {@link android.view.ScaleGestureDetector} that lets Views detect and handle transformation gestures that involve more than one pointer (multitouch) using the supplied MotionEvents. </li>
+<li>Improvements in the way that multitouch events are reported in {@link android.view.MotionEvent} objects.</li>
+<li>The layout attribute <code>fill_parent</code> is renamed to <code>match_parent</code>. This affects both XML and Java code (see {@link android.view.ViewGroup.LayoutParams}). Note that the platform will continue to honor uses of <code>fill_parent</code> in legacy applications. </li>
+<li>New layout attributes {@link android.R.attr#tabStripEnabled}, {@link android.R.attr#tabStripRight}, and {@link android.R.attr#tabStripLeft} let developers customize the bottom strip of TabWidgets.</li>
+<li>Better support for managed dialogs in Activity.</li>
+</ul>
+
+<h3>Accounts and sync</h3>
+
+<ul>
+<li>New method {@link android.content.ContentResolver#addPeriodicSync(Account, String, Bundle, long) AddPeriodicSync()} lets you schedule a periodic sync with a specific account, authority, and extras at the given frequency.</li>
+</ul>
+
+<h3>New manifest elements and attributes</h3>
+
+<ul>
+<li>For specifying the application's preferred install location (see <a href="#install-loc">App Installation on External Storage Media</a>, above):
+
+<ul>
+ <li>New <code>android:installLocation</code> attribute of the <code><manifest></code> element. Specifies the default install location defined by an application.</li>
+</ul>
+</li>
+
+<li>For managing user data backup (see <a href="#backup-manager">Backup manager</a>, above, for more information):
+
+<ul>
+ <li> New <code>android:backupAgent</code> attribute of the
+<code><application></code> element. Specifies the component name of the
+BackupAgent subclass provided by the application to handle backup/restore
+operations, if any.</li>
+ <li> New <code>android:restoreAnyVersion</code> attribute of the
+<code><application></code> element. Boolean value that indicates whether
+the application is prepared to attempt a restore of any backed-up dataset, even
+if the backup is apparently from a newer version of the application than is
+currently installed on the device.</li>
+</ul>
+</li>
+
+<li>For managing the platform's JIT compiler:
+
+<ul>
+<li>New <code>android:vmSafeMode</code> attribute of the <code><application></code> element. Boolean value that specifies whether to disable JIT compiler optimizations when running the application.</li>
+</ul>
+</li>
+</ul>
+
+<h3>Permissions</h3>
+
+<ul>
+<li><code>android.permission.BIND_DEVICE_ADMIN</code> — Any device administration broadcast receiver must require this permission, to ensure that only the system can interact with it.</li>
+<li><code>android.permission.KILL_BACKGROUND_PROCESSES</code> — Allows an application to call {@link android.app.ActivityManager#killBackgroundProcesses(String)}.
+<li><code>android.permission.BIND_WALLPAPER</code> — Any {@link android.service.wallpaper.WallpaperService} must require this permission, to ensure that only the system can interact with it.</li>
+<li><code>android.permission.SET_TIME</code> — Allows an application to set the system time.</li>
+</ul>
+
+<h3 id="api-diff">API differences report</h3>
+
+<p>For a detailed view of all API changes in Android {@sdkPlatformVersion} (API
+Level {@sdkPlatformApiLevel}), see the <a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report</a>.</p>
+
+
<h2 id="apps">Built-in Applications</h2>
<p>The system image included in the downloadable platform provides these
@@ -245,210 +444,4 @@
<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>
-
-<h2 id="api">Framework API</h2>
-
-<p>The sections below provide information about changes made to the application
-framework API provided by the Android {@sdkPlatformVersion} platform.</p>
-
-
-<h3 id="api-level">API level</h3>
-
-<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
-the framework API. The Android {@sdkPlatformVersion} API
-is assigned an integer identifier —
-<strong>{@sdkPlatformApiLevel}</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>To use APIs introduced in Android {@sdkPlatformVersion} in your
-application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
-<code>android:minSdkVersion</code> attributes of the <code><uses-sdk></code>
-element in your application's manifest. </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>
-
-
-<h3 id="api-changes">API changes summary</h3>
-
-<p>The sections below summarize the changes to the application framework and its APIs.</p>
-
-<h4 id="install-loc">App Installation on External Storage Media</h4>
-
-<p>The Android platform now allows applications to request installation onto the
-device's external storage media (such as the SD card), as an alternative to
-installation onto the device's internal memory. </p>
-
-<p>Application developers can express the preferred installation location for
-their applications by means of a new attribute of <code><manifest></code>
-in the manifest file, <a
-href="{@docRoot}guide/topics/manifest/manifest-element.html#install"><code>
-android:installLocation</code></a>. The attribute supports three values:
-<code>"internalOnly"</code>, <code>"preferExternal"</code>, and
-<code>"auto"</code>. At install time, the system checks the value of
-<code>android:installLocation</code> and installs the application
-<code>.apk</code> according to the preferred location, if possible. If the
-application has requested external installation, the system installs it into a
-private, encrypted partition in the external media. Once an application .apk is
-installed externally, the system lets the user change the storage location of
-the .apk and move it onto the device's internal memory if needed (and vice
-versa), through Manage Applications in the user settings.</p>
-
-<p>By default, the system installs all applications onto the device's internal
-memory, except for those that explicitly request external installation. This
-means that the system will always install legacy applications onto internal
-memory, since they do not have access to the
-<code>android:installLocation</code> attribute. However, it is possible to
-configure and compile a legacy application such that it is installed internally
-on older versions of the platform and externally on Android 2.2 and later
-platforms, if necessary. </p>
-
-<p>Note that requesting installation onto the device's external media is not
-suitable for all applications, particularly because the external media may be
-removable and unmounting/remounting may disrupt the user experience and system
-settings.</p>
-
-<p>For more information about setting a preferred install location for your
-application, including a discussion of what types of applications should and
-should not request external installation, please read the <a
-href="{@docRoot}guide/appendix/install-location.html">App Install Location</a>
-document. </p>
-
-<h4 id="backup-manager">Backup manager</h4>
-
-<p>The platform now provides a generalized backup service that
-applications can use to backup and restore user data, to ensure that users can
-maintain their data when switching devices or reinstalling the application. The
-Backup Manager handles the work of transporting the application data to and from
-the backup storage area in the cloud. The Backup Manager can store any type of
-data, from arbitrary data to files, and manages backup and restore operations
-in an atomic manner. For more information, see <a
-href="{@docRoot}guide/topics/data/backup.html">Data Backup</a>.</p>
-
-<h4>Graphics</h4>
-
-<ul>
-<li>New OpenGL ES 2.0 APIs in {@link android.opengl.GLES20 android.opengl.GLES20}.</li>
-<li>New {@link android.opengl.ETC1}, {@link android.opengl.ETC1Util}, and {@link android.opengl.ETC1Util.ETC1Texture} classes and utility methods for using ETC1 for texture compression.</li>
-<li>New {@link android.graphics.ImageFormat} class.</li>
-<li>New {@link android.graphics.YuvImage YUV image format API} to enable compression from YUV to JPEG and manipulation of YUV data.</li>
-</ul>
-
-<h4>Media</h4>
-
-<ul>
-<li>New APIs in {@link android.media.AudioManager android.media.AudioManager} for managing audio focus, transport control, transient loss of audio focus, ducking.</li>
-<li>New broadcast intent for routing audio to SCO — {@link android.media.AudioManager#ACTION_SCO_AUDIO_STATE_CHANGED} with extras indicating new state.</li>
-<li>New APIs in {@link android.media.SoundPool} to detect completion of sound-loading.</li>
-<li>New APIs in {@link android.media.SoundPool} for auto pause and resume.</li>
-<li>New APIs in {@link android.media.MediaRecorder} for specifying audio settings for number of channels, encoding and sampling rates, sampling rate.</li>
-<li>New APIs for adding files to the media database, so that they are automatically scanned. See {@link android.media.MediaScannerConnection#scanFile(Context, String[], String[], OnScanCompletedListener) MediaScannerConnection.scanFile} and {@link android.media.MediaScannerConnection.OnScanCompletedListener MediaScannerConnection.OnScanCompletedListener}.</li>
-</ul>
-
-<h4>Speech recognition and third-party recognition engines</h4>
-
-<ul>
-<li>The platform provides new speech-recognition APIs that allow applications to have a richer interaction with the available voice recognizer. For example, the APIs are sufficient to integrate voice recognition deeply into an IME.</li>
-<li>The platform also provides a {@link android.speech.RecognitionService} base class that lets third-party developers create plug-in recognition engines. </li>
-<li>New {@link android.speech.RecognitionListener} interface to receive callbacks.</li>
-<li>New {@link android.speech.RecognizerIntent} extras that let a requester app specify details as preferred language, minimum length in milliseconds, and so on.</li>
-</ul>
-
-<h4>Camera and camcorder</h4>
-
-<ul>
-<li>Changes to camera preview API to improve efficieny of preview pipeline. </li>
-<li>New display orientation for camera (it can now work in portrait orientation).</li>
-<li>New APIs in {@link android.hardware.Camera android.hardware.Camera} for managing zoom level.</li>
-<li>New APIs {@link android.hardware.Camera.Parameters android.hardware.Camera.Parameters} for querying and setting device camera settings such as focal length, exposure, zoom level, view angle, and others.</li>
-<li>New {@link android.media.ThumbnailUtils thumbnail} utility for video and image thumbnails.</li>
-<li>New {@link android.media.CamcorderProfile} and {@link android.media.CamcorderProfile} classes enable apps to determine device hardware camera capablities.</li>
-<li>New support in {@link android.media.ExifInterface android.media.ExifInterface} for retrieving GPS and focal length.</li>
-</ul>
-
-<h4>Device policy manager</h4>
-
-<p>New device policy management APIs allow developers to write "device
-administrator" applications that can control security features of the device,
-such as the minimum password strength, data wipe, and so on. Users can select
-the administrators that are enabled on their devices. For more information, see
-the {@link android.app.admin android.app.admin} classees or the example
-application code in <a
-href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.html">DeviceAdminSample.java</a>.</p>
-
-<h4>UI Framework</h4>
-
-<ul>
-<li>New UI modes "car mode" and "night mode" and {@link android.app.UiModeManager} let applications adjust their application UI for specific user modes. </li>
-<li>New {@link android.view.ScaleGestureDetector} that lets Views detect and handle transformation gestures that involve more than one pointer (multitouch) using the supplied MotionEvents. </li>
-<li>Improvements in the way that multitouch events are reported in {@link android.view.MotionEvent} objects.</li>
-<li>The layout attribute <code>fill_parent</code> is renamed to <code>match_parent</code>. This affects both XML and Java code (see {@link android.view.ViewGroup.LayoutParams}). Note that the platform will continue to honor uses of <code>fill_parent</code> in legacy applications. </li>
-<li>New layout attributes {@link android.R.attr#tabStripEnabled}, {@link android.R.attr#tabStripRight}, and {@link android.R.attr#tabStripLeft} let developers customize the bottom strip of TabWidgets.</li>
-<li>Better support for managed dialogs in Activity.</li>
-</ul>
-
-<h4>Accounts and Sync</h4>
-
-<ul>
-<li>New method {@link android.content.ContentResolver#addPeriodicSync(Account, String, Bundle, long) AddPeriodicSync()} lets you schedule a periodic sync with a specific account, authority, and extras at the given frequency.</li>
-</ul>
-
-<h4>New manifest elements and attributes</h4>
-
-<ul>
-<li>For specifying the application's preferred install location (see <a href="#install-loc">App Installation on External Storage Media</a>, above):
-
-<ul>
- <li>New <code>android:installLocation</code> attribute of the <code><manifest></code> element. Specifies the default install location defined by an application.</li>
-</ul>
-</li>
-
-<li>For managing user data backup (see <a href="#backup-manager">Backup manager</a>, above, for more information):
-
-<ul>
- <li> New <code>android:backupAgent</code> attribute of the
-<code><application></code> element. Specifies the component name of the
-BackupAgent subclass provided by the application to handle backup/restore
-operations, if any.</li>
- <li> New <code>android:restoreAnyVersion</code> attribute of the
-<code><application></code> element. Boolean value that indicates whether
-the application is prepared to attempt a restore of any backed-up dataset, even
-if the backup is apparently from a newer version of the application than is
-currently installed on the device.</li>
-</ul>
-</li>
-
-<li>For managing the platform's JIT compiler:
-
-<ul>
-<li>New <code>android:vmSafeMode</code> attribute of the <code><application></code> element. Boolean value that specifies whether to disable JIT compiler optimizations when running the application.</li>
-</ul>
-</li>
-</ul>
-
-<h4>Permissions</h4>
-
-<ul>
-<li><code>android.permission.BIND_DEVICE_ADMIN</code> — Any device administration broadcast receiver must require this permission, to ensure that only the system can interact with it.</li>
-<li><code>android.permission.KILL_BACKGROUND_PROCESSES</code> — Allows an application to call {@link android.app.ActivityManager#killBackgroundProcesses(String)}.
-<li><code>android.permission.BIND_WALLPAPER</code> — Any {@link android.service.wallpaper.WallpaperService} must require this permission, to ensure that only the system can interact with it.</li>
-<li><code>android.permission.SET_TIME</code> — Allows an application to set the system time.</li>
-</ul>
-
-<!--
-<h3 id="behavior-changes">Behavior changes</h3>
-
-What did change is that android:process and android:sharedUserId can now be a reference to a resource (instead of just a literal).
-<h3 id="bug-fixes">Bug fixes</h3>
--->
-
-<h3 id="api-diff">API differences report</h3>
-
-<p>For a detailed view of all API changes in Android {@sdkPlatformVersion} (API
-Level {@sdkPlatformApiLevel}), see the <a
-href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
-Differences Report</a>.</p>
-
+Screens</a>.</p>
\ No newline at end of file