LoaderManager - Android 3.0中的新功能
来源:互联网 发布:双屏异显 源码 编辑:程序博客网 时间:2024/06/03 02:21
在Android 3.0中提供了一个新概念Loaders,通过LoaderManager类可以很轻松的异步加载数据从Fragment或Activity 中,Loaders提供了回调机制通知最终的运行结果,有点类似AsyncTask类,但由于Loader对于并发可以用过Loader管理器统一管理,所以更适合批量处理多个异步任务的处理(当然内部仍然是多线程)。下面就让Android123一起和大家看下honeycomb中的新特性吧,对于解决多重异步I/O加快Android平板应用的运行是十分有效的。
一、LoaderManager
LoaderManager类位于android.app.LoaderManager,提供了以下几个方法:
abstract void destroyLoader(int id) //停止并移除loader通过ID
abstract void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) //打印LoaderManager的状态到一个流中
static void enableDebugLogging(boolean enabled) //启用debug记录
abstract <D> Loader<D> getLoader(int id) //返回找到的ID或没有匹配的在Loader中
abstract <D> Loader<D> initLoader(int id, Bundle args, LoaderCallbacks<D> callback) //初始化Loader使其成为活动状态
abstract <D> Loader<D> restartLoader(int id, Bundle args, LoaderCallbacks<D> callback) //启动一个新的或重启一个存在的Loader在管理器中
同时LoaderManager还有一个回调接口android.app.LoaderManager.LoaderCallbacks<D> 用于和LoaderManager交互:
abstract Loader<D> onCreateLoader(int id, Bundle args) //举例并返回一个新Loader通过ID
abstract void onLoadFinished(Loader<D> loader, D data) //当前面一个Loader已经完成时回调
abstract void onLoaderReset(Loader<D> loader) //当一个新的loader或存在的loader重启时回调
二、Loader
Loader类位于android.content.Loader<D>,整体比较复杂,主要成员有
1. 构造方法 Loader(Context context) //作为唯一实例化方法参数只有一个Context
2. Public Methods
void abandon() //高速Loader他在绑定
String dataToString(D data) //用于调试,转换一个Loader数据类的实例为字符串用于打印
void deliverResult(D data) //发送一个load注册的listener结果
void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) //打印loader状态通过给定的流
void forceLoad() //强制一个异步载入
Context getContext() //返回Context实例
int getId()
boolean isAbandoned() //判断是否已经绑定
boolean isReset() //判断是否已经重启
boolean isStarted() //判断是否已经执行
void onContentChanged() //内容变化回调
registerListener(int id, OnLoadCompleteListener<D> listener)
void reset() //重置一个Loader的状态
final void startLoading() //启动一个异步的载入从Loader的数据
void stopLoading() //停止载入
boolean takeContentChanged() String toString()
void unregisterListener(OnLoadCompleteListener<D> listener)
提供的子类 android.content.Loader.ForceLoadContentObserver 和 接口 android.content.Loader.OnLoadCompleteListener<D>
为了更清晰的表达Android开发网给出一个SDK例子完整代码,来作分析:
- LoaderManager - Android 3.0中的新功能
- LoaderManager - Android 3.0中的新功能
- Android LoaderManager
- Android应用开发:LoaderManager在Activity/Fragment中的使用分析
- LoaderManager使用详解(一)---Android中的Loaders机制
- android LoaderManager未完成
- Android Loader and LoaderManager
- Android LoaderManager学习
- Android LoaderManager详解
- java8 语言新功能在Android 中的使用
- LoaderManager
- LoaderManager
- android studio 3.0新功能介绍
- Android Studio 3.0新功能介绍
- Android之LoaderManager的使用
- android之LoaderManager原理分析
- Android加载器LoaderManager.loaderCallbacks
- #io17# Android中的新功能:Android O和其他发布
- 教训:切记DecimalFormat是和语言环境有关
- Tomcat域名或IP地址访问方式配置方法
- 获取父窗口的区别
- MySQL乱码
- 项目--小记
- LoaderManager - Android 3.0中的新功能
- java 在TCP网络连接上传递对象
- IE下载对话框 Save按钮被隐藏
- 新的webkit中html解析器
- 面试技巧:16个经典面试问题回答思路
- 建造者模式
- 关于在apache中发布项目,项目中引入资源的路径问题
- MFCWinInet学习
- 随感