在Android3.0中引入了装载器的功能,这使它很容易在Activity或Fragment中使用异步的方式加载数据。装载器的特点如下:
1.装载器对于每个Activity和Fagment都是有效的;
2.装载器提供异步数据加载的能力;
3.装载器监视数据资源并且当内容改变时发送新的结果;
4.在配置改变后重建的时候,装载器自动的重连最后的装载器游标,因此,不需要重新查询数据。
有多种类和接口可以用于应用程序的装载器。在下表中进行概要介绍:
类/接口
|
描述
|
LoaderManager
|
跟Activity和Fragment关联的用于管理一个或多个Loader实例的一个抽象类。这有益于管理跟Activity或Fragment生命周期相结合长时操作;最常用的是CursorLoader装载器,但是,为了加载其他类型的数据,你可以为应用程序编写它们自己的应用程序。
每个Activity或Fragment只有一个LoaderManager,但是一个LoaderManager能够有多个装载器。
|
LoaderManager.LoaderCallbacks
|
用于客户跟LoaderManager交互的回调接口。例如,使用onCreateLoader()回调方法创建一个新的装载器。
|
Loader
|
一个执行异步数据加载的抽象类。这是装载器的基类,一般情况下使用CursorLoader,但是也可以实现自己的子类。装载器在激活状态时应该监视数据源,并且在内容发生改变时发送新的结果。
|
AsyncTaskLoader
|
提供一个AsyncTask对象来完成工作的抽象装载器。
|
CursorLoader
|
AsyncTaskLoader的子类,它查询ContentResolver对象,并且返回一个Cursor对象。这个类用标准的游标查询方法实现了Loader协议,基于AsyncTaskLoader对象用后台线程来执行游标查询,以便应用程序的界面不会被死锁。使用这个装载器是从ContentProvider对象中异步加载数据的最好方法,而不是通过Fragment或Activity的APIs来执行被管理的查询。
|
上表中的类和接口是用于实现应用程序装载器的必要组件。对于你创建的每一个装载器并不需要以上全部内容,但是为了初始化一个装载器,你总是需要一个LoaderManager对象的引用,并且实现一个像CursorLoader类那样实现Loader类。以下章节将向你展示在应用程序中如何使用这些类和接口。
注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。
如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar
分享到:
相关推荐
Linux_c++_编程之链接与装载-基础篇,提高篇 在淘宝技术博客上,觉得每次看都要看开网页,且一页页翻不爽,就把PPT给下载了
Android装载器的使用 通过ContentProvider事务批量操作数据库
本例采用java编写的装载问题,采用的是FIFO队列形式,参考:算法设计与分析
Android 3.0装载器 Loader
解决windows98、2000缺少微软最新SQL数据引擎的动态库文件造成的未加载db-library网络通信层问题。 运行"请运行.bat"文件
装载机叉车三维模型
本例采用java实现的装载问题,采用的是回溯算法,参考书籍为:算法设计和分析(第二版)
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型
装载机叉车三维模型