本人不才,看博客多,写博客少,怕写出来的东西误导了大家,然而光说不练发现成长很慢,决定还是开始写点什么...
废话说多了,各位看官估计都紧握拳头准备要揍我了吧。本文翻译于android的Loaders文档,翻译的不准确还请各位指出。
Loaders从名字可看出与加载有关,在android 3.0引入,它使得在activity或者fragment中异步加载数据变得简单。
特征:
- 适用于每一个activity和Fragment
- 提供异步加载数据
- 监测数据源,当内容有变化时传回新的结果
- 当配置变化而重新创建,会自动连接到最后一个loader’s cusor,因此不需要重新加载数据
Loader API概要:
当使用loader时,会引入很多的类和接口,概括如下:
- LoaderManager 一个抽象类,用于Activity或者Fragment管理一个或者多个loader实例,每个Activity或者Fragment只能有一个LoaderManager,而一个LoaderManager可拥有多个loader。
- LoaderManager.LoaderCallbacks 一个用户与LoaderManager交互的回调接口。
- Loader 一个抽象类,用于异步加载数据,loader的基类。
- AsyncTaskLoader 抽象的loader,提供一个AsyncTask来完成工作
- CursorLoader AsyncTaskLoader的子类,
在应用中使用loader的步骤:
1、在Activty或者Fragment中,通过getLoaderManager()方法获得LoaderManager实例
2、调用LoaderManager的initLoader()方法,初始化一个loader
3、实现LoaderManager.LoaderCallbacks接口中的方法,包括onCreateLoader、onLoaderFinished、onLoaderReset。
本篇文章到此结束,旨在给loaders小白一个简单的介绍,大牛请忽略或者跳过。后续还会再写几篇跟loaders相关的文章..