java.lang.Object | |||
↳ | android.content.Loader<D> | ||
↳ | android.content.AsyncTaskLoader<D> | ||
↳ | android.content.CursorLoader |
A loader that queries the ContentResolver
and returns a Cursor
.
This class implements the Loader
protocol in a standard way for
querying cursors, building on AsyncTaskLoader
to perform the cursor
query on a background thread so that it does not block the application's UI.
A CursorLoader must be built with the full information for the query to
perform, either through the
CursorLoader(Context, Uri, String[], String, String[], String)
or
creating an empty instance with CursorLoader(Context)
and filling
in the desired paramters with setUri(Uri)
, setSelection(String)
,
setSelectionArgs(String[])
, setSortOrder(String)
,
and setProjection(String[])
.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates an empty unspecified CursorLoader.
| |||||||||||
Creates a fully-specified CursorLoader.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Called on the main thread to abort a load in progress.
| |||||||||||
Sends the result of the load to the registered listener.
| |||||||||||
Print the Loader's state into the given stream.
| |||||||||||
Called on a worker thread to perform the actual load and to return
the result of the load operation.
| |||||||||||
Called if the task was canceled before it was completed.
| |||||||||||
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Subclasses must implement this to take care of resetting their loader,
as per
reset() . | |||||||||||
Starts an asynchronous load of the contacts list data.
| |||||||||||
Must be called from the UI thread
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.content.AsyncTaskLoader
| |||||||||||
From class
android.content.Loader
| |||||||||||
From class
java.lang.Object
|
Creates an empty unspecified CursorLoader. You must follow this with
calls to setUri(Uri)
, setSelection(String)
, etc
to specify the query to perform.
Creates a fully-specified CursorLoader. See
ContentResolver.query()
for documentation on the meaning of the
parameters. These will be passed as-is to that call.
Called on the main thread to abort a load in progress.
Override this method to abort the current invocation of loadInBackground()
that is running in the background on a worker thread.
This method should do nothing if loadInBackground()
has not started
running or if it has already finished.
Sends the result of the load to the registered listener. Should only be called by subclasses. Must be called from the process's main thread.
cursor | the result of the load |
---|
Print the Loader's state into the given stream.
prefix | Text to print at the front of each line. |
---|---|
fd | The raw file descriptor that the dump is being sent to. |
writer | A PrintWriter to which the dump is to be set. |
args | Additional arguments to the dump request. |
Called on a worker thread to perform the actual load and to return
the result of the load operation.
Implementations should not deliver the result directly, but should return them
from this method, which will eventually end up calling deliverResult(D)
on
the UI thread. If implementations need to process the results on the UI thread
they may override deliverResult(D)
and do so there.
To support cancellation, this method should periodically check the value of
isLoadInBackgroundCanceled()
and terminate when it returns true.
Subclasses may also override cancelLoadInBackground()
to interrupt the load
directly instead of polling isLoadInBackgroundCanceled()
.
When the load is canceled, this method may either return normally or throw
OperationCanceledException
. In either case, the Loader
will
call onCanceled(D)
to perform post-cancellation cleanup and to dispose of the
result object, if any.
Called if the task was canceled before it was completed. Gives the class a chance to clean up post-cancellation and to properly dispose of the result.
cursor | The value that was returned by loadInBackground() , or null
if the task threw OperationCanceledException .
|
---|
Starts an asynchronous load of the contacts list data. When the result is ready the callbacks will be called on the UI thread. If a previous load has been completed and is still valid the result may be passed to the callbacks immediately. Must be called from the UI thread