AsyncTaskLoader
public abstract class AsyncTaskLoader<D> extends Loader
CursorLoader |
Static library support version of the framework's |
Static library support version of the framework's android.content.AsyncTaskLoader. Used to write apps that run on platforms prior to Android 3.0. When running on Android 3.0 or above, this implementation is still used; it does not try to switch to the framework's implementation. See the framework SDK documentation for a class overview.
Summary
Public constructors |
|---|
AsyncTaskLoader(@NonNull Context context) |
Public methods |
|
|---|---|
void |
Called on the main thread to abort a load in progress. |
void |
This method is deprecated. Consider using |
boolean |
Returns true if the current invocation of |
abstract @Nullable D |
Called on a worker thread to perform the actual load and to return the result of the load operation. |
void |
onCanceled(@Nullable D data)Called if the task was canceled before it was completed. |
void |
setUpdateThrottle(long delayMS)Set amount to throttle updates by. |
Protected methods |
|
|---|---|
@NonNull Executor |
|
boolean |
Subclasses must implement this to take care of requests to |
void |
Subclasses must implement this to take care of requests to |
@Nullable D |
Calls |
Inherited methods |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Public constructors
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.
| See also | |
|---|---|
loadInBackground |
isLoadInBackgroundCanceled
public boolean isLoadInBackgroundCanceled()
Returns true if the current invocation of loadInBackground is being canceled.
| Returns | |
|---|---|
boolean |
True if the current invocation of |
| See also | |
|---|---|
loadInBackground |
loadInBackground
public abstract @Nullable D 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 deliverResult on the UI thread. If implementations need to process the results on the UI thread they may override deliverResult 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 to perform post-cancellation cleanup and to dispose of the result object, if any.
| Returns | |
|---|---|
@Nullable D |
The result of the load operation. |
| Throws | |
|---|---|
androidx.core.os.OperationCanceledException |
if the load is canceled during execution. |
onCanceled
public void onCanceled(@Nullable D data)
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 | |
|---|---|
@Nullable D data |
The value that was returned by |
setUpdateThrottle
public void setUpdateThrottle(long delayMS)
Set amount to throttle updates by. This is the minimum time from when the last loadInBackground call has completed until a new load is scheduled.
| Parameters | |
|---|---|
long delayMS |
Amount of delay, in milliseconds. |
Protected methods
getExecutor
protected @NonNull Executor getExecutor()
Returns the Executor to use for this Loader's AsyncTasks. By default THREAD_POOL_EXECUTOR will be used. Override this method to return a custom executor. Note that this method will only be called once before this Loader's first AsyncTask is run. It is up to the Loader to shut down the Executor at the appropriate place (e.g. in onAbandon) if necessary.
onCancelLoad
protected boolean onCancelLoad()
Subclasses must implement this to take care of requests to cancelLoad. This will always be called from the process's main thread.
| Returns | |
|---|---|
boolean |
Returns false if the task could not be canceled, typically because it has already completed normally, or because |
onForceLoad
protected void onForceLoad()
Subclasses must implement this to take care of requests to forceLoad. This will always be called from the process's main thread.
onLoadInBackground
protected @Nullable D onLoadInBackground()
Calls loadInBackground. This method is reserved for use by the loader framework. Subclasses should override loadInBackground instead of this method.
| Returns | |
|---|---|
@Nullable D |
The result of the load operation. |
| Throws | |
|---|---|
androidx.core.os.OperationCanceledException |
if the load is canceled during execution. |
| See also | |
|---|---|
loadInBackground |