先看官方介绍:http://developer.android.com/guide/components/loaders.html
再看牛人解释:Android之Loader理解
loader 是 Android 3.0 之后的特性,但可以使用兼容包来兼容低版本。
- Activity 和 Fragment 都可以使用;
- 异步加载;
- 监听数据变化并返回变化之后的数据;
- 当界面状态改变时,自动重连;
我的理解:
有了 loader ,只需要配置 loader 的回调方法,把数据的获取和使用方式添加上去,其它的交给 loader 处理。
loader 在 android 的实现类有 AsyncTaskLoader 和 CursorLoader (注意: 这里的 CursorLoader 不能用在数据库上,而是用在 ContentProvider 里的)
使用在数据库上:
可使用
sprinkles 框架,这个框架里面利用 AsyncTaskLoader 来实现了数据库的 CursorLoader。
注意,在 handleResult 时,返回 true 才会在后续自动更新数据变化到 ResultHandler 。