Most visited

Recently visited

Loader

public class Loader
extends Object

java.lang.Object
   ↳ android.support.v4.content.Loader<D>
Known Direct Subclasses
Known Indirect Subclasses


静态库支持版本的框架Loader 用于编写在Android 3.0之前的平台上运行的应用程序。 在Android 3.0或更高版本上运行时,此实现仍在使用; 它不会尝试切换到框架的实现。 请参阅框架SDK文档以了解类概述。

Summary

Nested classes

class Loader.ForceLoadContentObserver

一个ContentObserver的实现,负责将它连接到Loader,以便在观察者被告知已经改变时让加载器重新加载它的数据。

interface Loader.OnLoadCanceledListener<D>

实现的接口,用于在加载完其数据之前发现加载器何时被取消。

interface Loader.OnLoadCompleteListener<D>

实现该接口以发现Loader何时完成加载其数据。

Public constructors

Loader(Context context)

存储与上下文关联的应用程序上下文。

Public methods

void abandon()

重新启动装载程序时,通常会通过 LoaderManager自动调用此功能。

boolean cancelLoad()

尝试取消当前加载任务。

void commitContentChanged()

承诺您已经完全处理了由 takeContentChanged()返回的内容更改。

String dataToString(D data)

对于调试,将Loader的数据类的实例转换为可打印的字符串。

void deliverCancellation()

通知已注册的 Loader.OnLoadCanceledListener负载已被取消。

void deliverResult(D data)

将加载结果发送给注册的侦听器。

void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args)

将Loader的状态打印到给定的流中。

void forceLoad()

强制执行异步加载。

Context getContext()
int getId()
boolean isAbandoned()

返回这个加载器是否被放弃。

boolean isReset()

返回此负载是否已重置。

boolean isStarted()

返回这个加载是否已经开始。

void onContentChanged()

Loader.ForceLoadContentObserver检测到更改时调用。

void registerListener(int id, OnLoadCompleteListener<D> listener)

注册一个在加载完成时将收到回调的类。

void registerOnLoadCanceledListener(OnLoadCanceledListener<D> listener)

注册一个在取消加载时将接收回调的侦听器。

void reset()

在销毁装载程序时,通常会通过 LoaderManager自动为您调用此函数。

void rollbackContentChanged()

报告已放弃处理由 takeContentChanged()返回的内容更改,并希望回滚到再次发生待处理内容更改的状态。

final void startLoading()

当关联片段/活动正在启动时,通常会通过 LoaderManager自动为您调用此函数。

void stopLoading()

当关联的片段/活动停止时,通常会通过 LoaderManager自动调用此函数。

boolean takeContentChanged()

以当前标志指示加载程序的内容在停止时是否已更改。

String toString()

返回对象的字符串表示形式。

void unregisterListener(OnLoadCompleteListener<D> listener)

删除先前添加了 registerListener(int, Loader.OnLoadCompleteListener ) 的侦听 registerListener(int, Loader.OnLoadCompleteListener )

void unregisterOnLoadCanceledListener(OnLoadCanceledListener<D> listener)

取消注册以前添加了 registerOnLoadCanceledListener(Loader.OnLoadCanceledListener ) 的侦听 registerOnLoadCanceledListener(Loader.OnLoadCanceledListener )

Protected methods

void onAbandon()

子类实现这个来照顾被抛弃。

boolean onCancelLoad()

子类必须实现这个来处理对 cancelLoad()的请求。

void onForceLoad()

子类必须实现这个来处理对 forceLoad()的请求。

void onReset()

按照 reset() ,子类必须实现这个来照顾重置它们的加载器。

void onStartLoading()

按照 startLoading() ,子类必须实现这个来负责加载他们的数据。

void onStopLoading()

按照 stopLoading() ,子类必须实现此功能以停止加载器。

Inherited methods

From class java.lang.Object

Public constructors

Loader

Loader (Context context)

存储与上下文关联的应用程序上下文。 由于Loaders可以用于多个活动,因此直接存储上下文是很危险的。 总是使用getContext()来检索Loader的上下文,不要直接使用构造函数参数。 getContext()返回的getContext()可以安全地在各个Activity实例中使用。

Parameters
context Context: used to retrieve the application context.

Public methods

abandon

void abandon ()

在重新启动加载程序时,通常会通过LoaderManager自动调用此函数。 当使用装载机LoaderManager ,你一定不要自己调用该方法,否则你将其加载器的管理冲突。 告诉Loader它正在被抛弃。 这被称为在reset()之前使其保留其当前数据但不报告任何新数据。

cancelLoad

boolean cancelLoad ()

尝试取消当前加载任务。 必须在流程的主线程上调用。

取消不是立即操作,因为加载是在后台线程中执行的。 如果当前正在进行加载,则此方法要求取消加载,并注意到这种情况; 一旦后台线程完成其工作,其剩余状态将被清除。 如果在此期间有另一个加载请求进入,它将一直保持到取消的加载完成。

Returns
boolean Returns false if the task could not be canceled, typically because it has already completed normally, or because startLoading() hasn't been called; returns true otherwise. When true is returned, the task is still running and the Loader.OnLoadCanceledListener will be called when the task completes.

commitContentChanged

void commitContentChanged ()

承诺您已经完全处理了由takeContentChanged()返回的内容更改。 这是与rollbackContentChanged()一起使用来处理负载被取消的情况。 当您完全处理负载而未被取消时调用此函数。

dataToString

String dataToString (D data)

对于调试,将Loader的数据类的实例转换为可打印的字符串。 必须处理空数据。

Parameters
data D
Returns
String

deliverCancellation

void deliverCancellation ()

通知已注册的Loader.OnLoadCanceledListener负载已被取消。 只能由子类调用。 必须从进程的主线程中调用。

deliverResult

void deliverResult (D data)

将加载结果发送给注册的侦听器。 只能由子类调用。 必须从进程的主线程中调用。

Parameters
data D: the result of the load

dump

void dump (String prefix, 
                FileDescriptor fd, 
                PrintWriter writer, 
                String[] args)

将Loader的状态打印到给定的流中。

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.

forceLoad

void forceLoad ()

强制执行异步加载。 startLoading()不同,这将忽略先前加载的数据集并加载新的数据集。 这只需要调用实现的onForceLoad() 通常应该只在加载器启动时调用它 - 也就是说, isStarted()返回true。

必须从进程的主线程中调用。

getContext

Context getContext ()

Returns
Context an application context retrieved from the Context passed to the constructor.

getId

int getId ()

Returns
int the ID of this loader

isAbandoned

boolean isAbandoned ()

返回这个加载器是否被放弃。 在这种状态下,加载程序不得报告任何新数据,并且必须保持其上次报告的数据有效,直至最终重置。

Returns
boolean

isReset

boolean isReset ()

返回此负载是否已重置。 也就是说,加载程序尚未首次启动,或者其调用了reset()

Returns
boolean

isStarted

boolean isStarted ()

返回这个加载是否已经开始。 也就是说,它的startLoading()已被呼叫,并且尚未拨打stopLoading()reset()

Returns
boolean

onContentChanged

void onContentChanged ()

Loader.ForceLoadContentObserver检测到更改时调用。 缺省实现检查加载器是否当前已启动; 如果是这样,它只需调用forceLoad() ; 否则,它会设置一个标志,以便takeContentChanged()返回true。

必须从进程的主线程中调用。

registerListener

void registerListener (int id, 
                OnLoadCompleteListener<D> listener)

注册一个在加载完成时将收到回调的类。 该回调将在进程的主线程上调用,因此将结果传递给小部件是安全的。

必须从进程的主线程中调用。

Parameters
id int
listener OnLoadCompleteListener

registerOnLoadCanceledListener

void registerOnLoadCanceledListener (OnLoadCanceledListener<D> listener)

注册一个在取消加载时将接收回调的侦听器。 该回调将在进程的主线程上调用,因此将结果传递给小部件是安全的。 必须从进程的主线程中调用。

Parameters
listener OnLoadCanceledListener: The listener to register.

reset

void reset ()

在销毁装载程序时,通常会通过LoaderManager自动调用此函数。 当使用LoaderManager加载程序时,您不得自己调用此方法,否则您将与加载程序的管理发生冲突。 重置Loader的状态。 装载者应该在这一点上释放所有资源,因为它可能永远不会再被调用; 然而,它的startLoading()稍后可能被调用,在这一点上它必须能够再次开始运行。

这将更新Loader的内部状态,以便 isStarted()isReset()将返回正确的值,然后调用实现的 onReset()

必须从进程的主线程中调用。

rollbackContentChanged

void rollbackContentChanged ()

报告您放弃了对takeContentChanged()返回的内容更改的处理,并希望回滚到还有待处理内容更改的状态。 这是为了处理在数据被传送回加载程序之前,由于内容更改而导致的数据加载已被取消的情况。

startLoading

void startLoading ()

当关联片段/活动正在启动时,通常会通过LoaderManager自动为您调用此函数。 当使用装载机LoaderManager ,你一定不要自己调用该方法,否则你将其加载器的管理冲突。 启动加载程序数据的异步加载。 当结果准备好时,回调将在进程的主线程上调用。 如果之前的加载已完成且仍然有效,则结果可能会立即传递给回调。 加载器将监视数据集的来源,并且如果源更改,可能会提供未来的回调。 调用stopLoading()将停止传递回调。

这将更新Loader的内部状态,以便 isStarted()isReset()将返回正确的值,然后调用实现的 onStartLoading()

必须从进程的主线程中调用。

stopLoading

void stopLoading ()

当关联的片段/活动停止时,通常会通过LoaderManager自动为您调用此函数。 当使用LoaderManager的加载程序时,您不得自己调用此方法,否则您将与加载程序的管理发生冲突。

停止传送更新,直到下一次startLoading() 实现应该在这一点上他们的无效数据-客户仍然可以自由使用装载机报告的最后数据。 但是,如果数据发生变化,他们通常会停止报告新数据; 他们仍然可以监视更改,但是,如果稍后调用startLoading()则不能将它们报告给客户端。

这将更新Loader的内部状态,以便 isStarted()将返回正确的值,然后调用实现的 onStopLoading()

必须从进程的主线程中调用。

takeContentChanged

boolean takeContentChanged ()

以当前标志指示加载程序的内容在停止时是否已更改。 如果有,则返回true并且标志被清除。

Returns
boolean

toString

String toString ()

返回对象的字符串表示形式。 通常, toString方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

unregisterListener

void unregisterListener (OnLoadCompleteListener<D> listener)

删除先前添加了registerListener(int, Loader.OnLoadCompleteListener ) 的侦听registerListener(int, Loader.OnLoadCompleteListener ) 必须从进程的主线程中调用。

Parameters
listener OnLoadCompleteListener

unregisterOnLoadCanceledListener

void unregisterOnLoadCanceledListener (OnLoadCanceledListener<D> listener)

取消注册以前添加了registerOnLoadCanceledListener(Loader.OnLoadCanceledListener ) 的侦听registerOnLoadCanceledListener(Loader.OnLoadCanceledListener ) 必须从进程的主线程中调用。

Parameters
listener OnLoadCanceledListener: The listener to unregister.

Protected methods

onAbandon

void onAbandon ()

子类实现这个来照顾被抛弃。 这是onReset()之前的可选中间状态 - 这意味着客户端不再对来自加载程序的任何新数据感兴趣,因此加载程序不能报告任何进一步的更新。 然而,装载者必须保持其最后报告的数据有效直到最终的onReset()发生。 您可以使用isAbandoned()检索当前的废弃状态。

onCancelLoad

boolean onCancelLoad ()

子类必须实现这个来处理对cancelLoad()的请求。 这将始终从进程的主线程中调用。

Returns
boolean Returns false if the task could not be canceled, typically because it has already completed normally, or because startLoading() hasn't been called; returns true otherwise. When true is returned, the task is still running and the Loader.OnLoadCanceledListener will be called when the task completes.

onForceLoad

void onForceLoad ()

子类必须实现这个来处理对forceLoad()的请求。 这将始终从进程的主线程中调用。

onReset

void onReset ()

按照reset() ,子类必须实现这个来照顾重置它们的加载器。 这不是由客户直接调用,而是由于致电reset() 这将始终从进程的主线程中调用。

onStartLoading

void onStartLoading ()

按照startLoading() ,子类必须实现这个来负责加载他们的数据。 这不是由客户直接调用,而是由于致电startLoading()

onStopLoading

void onStopLoading ()

根据stopLoading() ,子类必须实现此功能以停止装载程序。 这不是由客户直接调用,而是由于致电stopLoading() 这将始终从进程的主线程中调用。

Hooray!