diff options
Diffstat (limited to 'docs/html/training/load-data-background/setup-loader.jd')
-rw-r--r-- | docs/html/training/load-data-background/setup-loader.jd | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/docs/html/training/load-data-background/setup-loader.jd b/docs/html/training/load-data-background/setup-loader.jd new file mode 100644 index 0000000..4b40611 --- /dev/null +++ b/docs/html/training/load-data-background/setup-loader.jd @@ -0,0 +1,90 @@ +page.title=Setting Up the Loader +trainingnavtop=true +startpage=true + +@jd:body + +<!-- This is the training bar --> +<div id="tb-wrapper"> + <div id="tb"> +<h2>This lesson teaches you to</h2> +<ol> + <li> + <a href="#AddExtensions">Extend an Activity</a> + </li> + <li> + <a href="#GetLoader">Retrieve a LoaderManager</a> + </li> + <li> + <a href="#InitializeLoader">Initialize the Loader Framework</a> + </li> +</ol> + </div> +</div> +<p> + You create a {@link android.support.v4.content.CursorLoader} within a + <b>loader framework</b>. To set up the framework, you implement the + {@link android.support.v4.app.LoaderManager.LoaderCallbacks LoaderCallbacks<Cursor>} + as part of an {@link android.app.Activity}. In addition, to provide compatibility + compatible with platform versions starting with Android 1.6, you must extend the + {@link android.app.Activity} with the {@link android.support.v4.app.FragmentActivity} class. +</p> +<p class="note"> + <strong>Note:</strong> A {@link android.support.v4.app.Fragment} is not a prerequisite for + {@link android.support.v4.content.CursorLoader}. As a convenience, the support library class + {@link android.support.v4.app.FragmentActivity} contains the fragment and the loader frameworks, + but they are completely independent of each other. +</p> +<p> + Before you can use the loader framework, you need to initialize it. To do this, retrieve + a {@link android.support.v4.app.LoaderManager} object and call its + {@link android.support.v4.app.LoaderManager#initLoader initLoader()} method. +</p> +<p> + If you do use one or more {@link android.support.v4.app.Fragment} objects in an + {@link android.app.Activity}, the {@link android.support.v4.app.LoaderManager} you retrieve is + available to all of them. +</p> +<h2 id="AddExtensions">Extend an Activity</h2> +<p> + To set up an {@link android.app.Activity} subclass to contain a + {@link android.support.v4.content.CursorLoader}, extend the subclass with + must extend {@link android.support.v4.app.FragmentActivity}, which provides the loader + framework, and implement the {@link android.support.v4.app.LoaderManager.LoaderCallbacks + LoaderCallbacks<Cursor>} interface, which specifies method signatures that the loader + framework uses to interact with the {@link android.app.Activity}. +</p> +<p> + For example: +</p> +<pre> +public class DisplayActivity extends FragmentActivity + implements LoaderManager.LoaderCallbacks<Cursor> +</pre> +<h2 id="GetLoader">Retrieve a LoaderManager</h2> +<p> + To get an instance {@link android.support.v4.app.LoaderManager} for use in your + {@link android.app.Activity}, call + {@link android.support.v4.app.FragmentActivity#getSupportLoaderManager + FragmentActivity.getSupportLoaderManager()} at the beginning of the + {@link android.app.Activity#onCreate onCreate()} method. For example: +</p> +<pre> +private LoaderManager mLoaderManager; +public void onCreate() { +... +mLoaderManager = this.getSupportLoaderManager(); +</pre> +<h2 id="InitializeLoader">Initialize the Loader Framework</h2> +<p> + Once you have the {@link android.support.v4.app.LoaderManager} object, initialize + it by calling {@link android.support.v4.app.LoaderManager#initLoader initLoader()}. For + example: +</p> +<pre> +// CursorLoader instance identifier +public static final int URL_LOADER = 0; +... +// Initializes the CursorLoader +getSupportLoaderManager().initLoader(URL_LOADER, null, this); +</pre> |