CursorLoader
public
class
CursorLoader
extends AsyncTaskLoader<Cursor>
java.lang.Object | |||
↳ | android.content.Loader<android.database.Cursor> | ||
↳ | android.content.AsyncTaskLoader<android.database.Cursor> | ||
↳ | android.content.CursorLoader |
This class was deprecated
in API level 28.
Use the Support Library
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(android.content.Context, android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String)
or
creating an empty instance with CursorLoader(android.content.Context)
and filling
in the desired parameters with setUri(android.net.Uri)
, setSelection(java.lang.String)
,
setSelectionArgs(java.lang.String[])
, setSortOrder(java.lang.String)
,
and setProjection(java.lang.String[])
.
Summary
Public constructors | |
---|---|
CursorLoader(Context context)
Creates an empty unspecified CursorLoader. |
|
CursorLoader(Context context, Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
Creates a fully-specified CursorLoader. |
Public methods | |
---|---|
void
|
cancelLoadInBackground()
Called on the main thread to abort a load in progress. |
void
|
deliverResult(Cursor cursor)
Sends the result of the load to the registered listener. |
void
|
dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args)
Print the Loader's state into the given stream. |
String[]
|
getProjection()
|
String
|
getSelection()
|
String[]
|
getSelectionArgs()
|
String
|
getSortOrder()
|
Uri
|
getUri()
|
Cursor
|
loadInBackground()
Called on a worker thread to perform the actual load and to return the result of the load operation. |
void
|
onCanceled(Cursor cursor)
Called if the task was canceled before it was completed. |
void
|
setProjection(String[] projection)
|
void
|
setSelection(String selection)
|
void
|
setSelectionArgs(String[] selectionArgs)
|
void
|
setSortOrder(String sortOrder)
|
void
|
setUri(Uri uri)
|
Protected methods | |
---|---|
void
|
onReset()
Subclasses must implement this to take care of resetting their loader,
as per |
void
|
onStartLoading()
Starts an asynchronous load of the data. |
void
|
onStopLoading()
Must be called from the UI thread |
Inherited methods | |
---|---|
Public constructors
CursorLoader
public CursorLoader (Context context)
Creates an empty unspecified CursorLoader. You must follow this with
calls to setUri(android.net.Uri)
, setSelection(java.lang.String)
, etc
to specify the query to perform.
Parameters | |
---|---|
context |
Context |
CursorLoader
public CursorLoader (Context context, Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
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.
Parameters | |
---|---|
context |
Context |
uri |
Uri |
projection |
String |
selection |
String |
selectionArgs |
String |
sortOrder |
String |
Public methods
cancelLoadInBackground
public void cancelLoadInBackground ()
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.
deliverResult
public void deliverResult (Cursor cursor)
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.
Parameters | |
---|---|
cursor |
Cursor : the result of the load |
dump
public void dump (String prefix, FileDescriptor fd, PrintWriter writer, String[] args)
Print the Loader's state into the given stream.
Parameters | |
---|---|
prefix |
String : Text to print at the front of each line. |
fd |
FileDescriptor : The raw file descriptor that the dump is being sent to. |
writer |
PrintWriter : A PrintWriter to which the dump is to be set. |
args |
String : Additional arguments to the dump request. |
loadInBackground
public Cursor loadInBackground ()
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 Loader.deliverResult(D)
on
the UI thread. If implementations need to process the results on the UI thread
they may override Loader.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.
Returns | |
---|---|
Cursor |
The result of the load operation. |
onCanceled
public void onCanceled (Cursor cursor)
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.
Parameters | |
---|---|
cursor |
Cursor : The value that was returned by loadInBackground() , or null
if the task threw OperationCanceledException . |
setProjection
public void setProjection (String[] projection)
Parameters | |
---|---|
projection |
String |
setSelection
public void setSelection (String selection)
Parameters | |
---|---|
selection |
String |
setSelectionArgs
public void setSelectionArgs (String[] selectionArgs)
Parameters | |
---|---|
selectionArgs |
String |
setSortOrder
public void setSortOrder (String sortOrder)
Parameters | |
---|---|
sortOrder |
String |
Protected methods
onReset
protected void onReset ()
Subclasses must implement this to take care of resetting their loader,
as per reset()
. This is not called by clients directly,
but as a result of a call to reset()
.
This will always be called from the process's main thread.
onStartLoading
protected void onStartLoading ()
Starts an asynchronous load of the 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
onStopLoading
protected void onStopLoading ()
Must be called from the UI thread