Downloading the Support Package
The Support Package is provided as a downloadable package from the Android SDK Manager. To install:
- Launch the Android SDK Manager.
From Eclipse, you can select Window > Android SDK Manager. Or, launch
SDK Manager.exe
from the<sdk>/
directory (on Windows only) orandroid
from the<sdk>/tools/
directory. - Expand the Android Repository, check Android Support package and click Install selected.
- Proceed to install the package.
When done, all files (including source code, samples, and the .jar
files) are saved into the<sdk>/extras/android/support/
directory. This directory contains each of the different support libraries, such as the library for API level 4 and up and the library for API level 13 and up, each named with the respective version (such as v4/
).
Setting Up a Project to Use a Library
To add one of the libraries to your Android project:
- In your Android project, create a directory named
libs
at the root of your project (next tosrc/
,res/
, etc.) - Locate the JAR file for the library you want to use and copy it into the
libs/
directory.For example, the library that supports API level 4 and up is located at
<sdk>/extras/android/support/v4/android-support-v4.jar
. - Add the JAR to your project build path.
In Eclipse, right-click the JAR file in the Package Explorer, select Build Path > Add to Build Path.
Your application is now ready to use the library APIs. All the provided APIs are available in the android.support
package (for example, android.support.v4
).
Tip: To see the library APIs in action, take a look at the sample apps in<sdk>/extras/android/support/<version>/samples/
.
Warning: Be certain that you not confuse the standard android
packages with those in android.support
library. Some code completion tools might get this wrong, especially if you're building against recent versions of the platform. To be safe, keep your build target set to the same version as you have defined for your android:minSdkVersion
and double check the import statements for classes that also exist in the support library, such as SimpleCursorAdapter
.
Using the v4 Library APIs
The support library for v4 provides access to several classes introduced with Android 3.0 and beyond, plus some updated version of existing classes, and even some APIs that currently don't exist in the Android platform. Some of the most useful and notable classes that have counterparts in the v4 support library are:
Fragment
FragmentManager
FragmentTransaction
ListFragment
DialogFragment
LoaderManager
Loader
AsyncTaskLoader
CursorLoader
For each of the classes above (and others not listed), the APIs work almost exactly the same as the counterparts in the latest Android platform. Thus, you can usually refer to the online documentation for information about the supported APIs. There are some differences, however. Most notably:
- When creating an activity to use fragments, you must declare your activity to extend the
FragmentActivity
class (instead of the traditionalActivity
class). - To manage your fragments and loaders, you must use the methods
FragmentActivity.getSupportFragmentManager()
andFragmentActivity.getSupportLoaderManager()
(instead of thegetFragmentManager()
andgetLoaderManager()
methods). - The
ActionBar
is not supported by the library. However, when creating your Options Menu, you can declare which items should be added to the Action Bar when it's available (on Android 3.0 or later). You can do so with theMenuCompat.setShowAsAction()
method, for example:publicboolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options, menu);
MenuCompat.setShowAsAction(menu.findItem(R.id.action_search),1);
returntrue;
}Also see the Action Bar Compatibility sample for a demonstration of how to use
ActionBar
on Android 3.0+ and also support action bar functionality on older versions.
Tip: To enable the Holographic theme on devices running Android 3.0 or higher, declare in your manifest file that your application targets API level 11, for example:
<uses-sdkandroid:minSdkVersion="4"android:targetSdkVersion="11"/>
This way, your application automatically receives the Holographic theme and the Action Bar for each activity when running on Android 3.0 and higher.
For more information about how you can optimize your application for the latest Android-powered devices, readOptimizing Apps for Android 3.0.
Reference Docs
The reference documentation for the Support Packages is included as part of the Android online developer documentation:
Samples
If you want to see some code that uses the support libraries, samples are included with the Support Package, inside each support library directory, for example; <sdk>/extras/android/support/v4/samples/
. You can also view these samples as part of the Android online developer documentation:
Additionally, the Google I/O App is a complete application that uses the v4 support library to provide a single APK for both handsets and tablets and also demonstrates some of Android's best practices in Android UI design.