page.title=Using the Support Library
page.tags=support library
helpoutsWidget=true

trainingnavtop=true

@jd:body

<div id="tb-wrapper">
  <div id="tb"> 
    <h2>This lesson teaches you to</h2>
    <ol>
      <li><a href="#Setup">Set Up Your Project with the Support Library</a></li>
      <li><a href="#Apis">Import the Support Library APIs</a></li>
    </ol>
    <h2>You should also read</h2>
    <ul>
      <li><a href="{@docRoot}tools/support-library/index.html">Support Library</a></li>
    </ul>
  </div>
</div>

<p>The Android <a href="{@docRoot}tools/support-library/index.html">Support Library</a> provides a JAR
file with an API library that allows you to use some of the more recent Android APIs in your app
while running on earlier versions of Android. For instance, the Support Library provides a version
of the {@link android.app.Fragment} APIs that you can use on Android 1.6 (API level 4) and
higher.</p>

<p>This lesson shows how to set up your app to use the Support Library in order to use fragments
to build a dynamic app UI.</p>


<h2 id="Setup">Set Up Your Project with the Support Library</h2>

<div class="figure" style="width:527px">
<img src="{@docRoot}images/training/basics/sdk-manager.png" alt="" />
<p class="img-caption"><strong>Figure 1.</strong> The Android SDK Manager with the
Android Support package selected.</p>
</div>

<p>To set up your project:</p>

<ol>
  <li>Download the Android Support package using the SDK Manager.</li>

  <li>Create a <code>libs</code> directory at the top level of your Android project.</li>
  <li>Locate the JAR file for the library you want to use and copy it into the <code>libs/</code>
directory.
<p>For example, the library that supports API level 4 and up is located at
<code>&lt;sdk>/extras/android/support/v4/android-support-v4.jar</code>.</p></li>
  <li>Update your manifest file to set the minimum API level to <code>4</code> and the target
API level to the latest release:
  <pre>&lt;uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /></pre>
  </li>
</ol>


<h2 id="Apis">Import the Support Library APIs</h2>

<p>The Support Library includes a variety of APIs that were either added in recent versions of
Android or don't exist in the platform at all and merely provide additional support to you when
developing specific application features.</p>

<p>You can find all the API reference documentation for the Support Library in the
platform docs at {@link android.support.v4.app android.support.v4.*}.</p>

<div class="warning"><p><strong>Warning:</strong> To be sure that you don't accidentally use new
APIs on an older system version, be certain that you import the {@link
android.support.v4.app.Fragment} class and related APIs from the {@link android.support.v4.app}
package:</p>
<pre>
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
...
</pre>
</div>


<p>When creating an activity that hosts fragments while using the Support Library, you must also
extend the {@link android.support.v4.app.FragmentActivity} class instead of the traditional {@link
android.app.Activity} class. You'll see sample code for the fragment and activity in the next
lesson.</p>

