page.title=Android 2.2 Platform sdk.platform.version=2.2 sdk.platform.apiLevel=8 sdk.platform.majorMinor=minor @jd:body
API Level: {@sdkPlatformApiLevel}
Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release including user features, developer features, API changes, and bug fixes. For information on developer features and API changes, see the Framework API section.
For developers, the Android {@sdkPlatformVersion} platform is available as a downloadable component for the Android SDK. The downloadable platform includes a fully compliant Android library and system image, as well as a set of emulator skins, sample applications, and more. The downloadable platform includes no external libraries.
To get started developing or testing against the Android {@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to download the platform into your SDK. For more information, see Adding SDK Components. If you are new to Android, download the SDK Starter Package first.
For a list of new user features and platform highlights, see the Android 2.2 Platform Highlights document.
The sections below provide notes about successive releases of the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by revision number. To determine what revision(s) of the Android {@sdkPlatformVersion} platforms are installed in your SDK environment, refer to the "Installed Packages" listing in the Android SDK and AVD Manager.
Android {@sdkPlatformVersion}, Revision 3 (July 2011)
Requires SDK Tools r12 or higher.
Improvements to the platform's rendering library to support the visual layout editor in the ADT Eclipse plugin. This revision allows for more drawing features in ADT and fixes several bugs in the previous rendering library. It also unlocks several editor features that were added in ADT 12.
Android {@sdkPlatformVersion}, Revision 2 (July 2010)
Requires SDK Tools r6 or higher.
Android {@sdkPlatformVersion}, Revision 1 (May 2010)
Requires SDK Tools r6 or higher.
Adds support for building with Android library projects. See SDK Tools, r6 for information.
The Android {@sdkPlatformVersion} platform delivers an updated version of the framework API. The Android {@sdkPlatformVersion} API is assigned an integer identifier — {@sdkPlatformApiLevel} — 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.
To use APIs introduced in Android {@sdkPlatformVersion} in your
application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
android:minSdkVersion
attributes of the <uses-sdk>
element in your application's manifest.
For more information about how to use API Level, see the API Levels document.
The sections below provide information about changes made to the application framework API provided by the Android {@sdkPlatformVersion} platform.
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.
Application developers can express the preferred installation location for
their applications by means of a new attribute of <manifest>
in the manifest file,
android:installLocation
. The attribute supports three values:
"internalOnly"
, "preferExternal"
, and
"auto"
. At install time, the system checks the value of
android:installLocation
and installs the application
.apk
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.
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
android:installLocation
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.
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.
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 App Install Location document.
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 Data Backup.
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 DeviceAdminSample.java.
fill_parent
is renamed to match_parent
. This affects both XML and Java code (see {@link android.view.ViewGroup.LayoutParams}). Note that the platform will continue to honor uses of fill_parent
in legacy applications. android:installLocation
attribute of the <manifest>
element. Specifies the default install location defined by an application.android:backupAgent
attribute of the
<application>
element. Specifies the component name of the
BackupAgent subclass provided by the application to handle backup/restore
operations, if any.android:restoreAnyVersion
attribute of the
<application>
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.android:vmSafeMode
attribute of the <application>
element. Boolean value that specifies whether to disable JIT compiler optimizations when running the application.android.permission.BIND_DEVICE_ADMIN
— Any device administration broadcast receiver must require this permission, to ensure that only the system can interact with it.android.permission.KILL_BACKGROUND_PROCESSES
— Allows an application to call {@link android.app.ActivityManager#killBackgroundProcesses(String)}.
android.permission.BIND_WALLPAPER
— Any {@link android.service.wallpaper.WallpaperService} must require this permission, to ensure that only the system can interact with it.android.permission.SET_TIME
— Allows an application to set the system time.For a detailed view of all API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), see the API Differences Report.
The system image included in the downloadable platform provides these built-in applications:
|
|
The system image included in the downloadable platform 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 are available in the Android {@sdkPlatformVersion} system image are listed below (with language_country/region locale descriptor).
|
|
Localized UI strings match the locales that are accessible through Settings.
Note: Android supports more locales than are listed above. However, the entire collection of locale strings cannot fit on a single system image, so the above list is only what's included in the system image for the SDK. All of Android's supported locales are available in the Android Open Source Project.
The downloadable platform includes a set of emulator skins that you can use for modeling your application in different screen sizes and resolutions. The emulator skins are:
For more information about how to develop an application that displays and functions properly on all Android-powered devices, see Supporting Multiple Screens.