diff options
Diffstat (limited to 'core/java/android/content')
-rw-r--r-- | core/java/android/content/AsyncTaskLoader.java | 19 | ||||
-rw-r--r-- | core/java/android/content/Loader.java | 15 |
2 files changed, 29 insertions, 5 deletions
diff --git a/core/java/android/content/AsyncTaskLoader.java b/core/java/android/content/AsyncTaskLoader.java index 383cb6b..0b54396 100644 --- a/core/java/android/content/AsyncTaskLoader.java +++ b/core/java/android/content/AsyncTaskLoader.java @@ -27,7 +27,24 @@ import java.io.PrintWriter; import java.util.concurrent.CountDownLatch; /** - * Abstract Loader that provides an {@link AsyncTask} to do the work. + * Abstract Loader that provides an {@link AsyncTask} to do the work. See + * {@link Loader} and {@link android.app.LoaderManager} for more details. + * + * <p>Here is an example implementation of an AsyncTaskLoader subclass that + * loads the currently installed applications from the package manager. This + * implementation takes care of retrieving the application labels and sorting + * its result set from them, monitoring for changes to the installed + * applications, and rebuilding the list when a change in configuration requires + * this (such as a locale change). + * + * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/LoaderCustom.java + * loader} + * + * <p>An example implementation of a fragment that uses the above loader to show + * the currently installed applications in a list is below. + * + * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/LoaderCustom.java + * fragment} * * @param <D> the data type to be loaded. */ diff --git a/core/java/android/content/Loader.java b/core/java/android/content/Loader.java index a9d6117..4e70b74 100644 --- a/core/java/android/content/Loader.java +++ b/core/java/android/content/Loader.java @@ -26,7 +26,7 @@ import java.io.PrintWriter; /** * An abstract class that performs asynchronous loading of data. While Loaders are active * they should monitor the source of their data and deliver new results when the contents - * change. + * change. See {@link android.app.LoaderManager} for more detail. * * <p><b>Note on threading:</b> Clients of loaders should as a rule perform * any calls on to a Loader from the main thread of their process (that is, @@ -36,7 +36,10 @@ import java.io.PrintWriter; * be done on the main thread.</p> * * <p>Subclasses generally must implement at least {@link #onStartLoading()}, - * {@link #onStopLoading()}, {@link #onForceLoad()}, and {@link #onReset()}. + * {@link #onStopLoading()}, {@link #onForceLoad()}, and {@link #onReset()}.</p> + * + * <p>Most implementations should not derive directly from this class, but + * instead inherit from {@link AsyncTaskLoader}.</p> * * @param <D> The result returned when the load is complete */ @@ -76,8 +79,12 @@ public class Loader<D> { } /** - * Stores away the application context associated with context. Since Loaders can be used - * across multiple activities it's dangerous to store the context directly. + * Stores away the application context associated with context. + * Since Loaders can be used across multiple activities it's dangerous to + * store the context directly; always use {@link #getContext()} to retrieve + * the Loader's Context, don't use the constructor argument directly. + * The Context returned by {@link #getContext} is safe to use across + * Activity instances. * * @param context used to retrieve the application context. */ |