今天开始新的一章,fragment讲完了,开始讲Loader,加载器,用于异步加载数据的api。
加载器
Android 3.0 中引入了加载器,支持轻松在 Activity 或片段中异步加载数据。 加载器具有以下特征:
- 可用于每个 Activity 和 Fragment。
- 支持异步加载数据。
- 监控其数据源并在内容变化时传递新结果。
- 在某一配置更改后重建加载器时,会自动重新连接上一个加载器的 Cursor。 因此,它们无需重新查询其数据。
在应用中使用加载器时,可能会涉及到多个类和接口。 下表汇总了这些类和接口:
| 类/接口 | 描述 |
|---|---|
| LoaderManager | 一种与 Activity 或 Fragment 相关联的的抽象类,用于管理一个或多个 Loader 实例。 这有助于应用管理与 Activity 或 Fragment 生命周期相关联的、运行时间较长的操作。它最常见的用法是与 CursorLoader 一起使用,但应用可自由写入其自己的加载器,用于加载其他类型的数据。 每个 Activity 或片段中只有一个 LoaderManager。但一个 LoaderManager 可以有多个加载器。 |
| LoaderManager.LoaderCallbacks | 一种回调接口,用于客户端与 LoaderManager 进行交互。例如,您可使用 onCreateLoader() 回调方法创建新的加载器。 |
| Loader | 一种执行异步数据加载的抽象类。这是加载器的基类。 您通常会使用 CursorLoader,但您也可以实现自己的子类。加载器处于Activity状态时,应监控其数据源并在内容变化时传递新结果。 |
| AsyncTaskLoader | 提供 AsyncTask 来执行工作的抽象加载器。 |
| CursorLoader | AsyncTaskLoader 的子类,它将查询 ContentResolver 并返回一个 Cursor。此类采用标准方式为查询 Cursor 实现 Loader 协议。它是以 AsyncTaskLoader 为基础而构建,在后台线程中执行 Cursor 查询,因此不会阻塞应用的 UI。使用此加载器是从 ContentProvider 异步加载数据的最佳方式,而不用通过片段或 Activity 的 API 来执行托管查询。 |
本文介绍Android 3.0中引入的加载器API,用于轻松实现在Activity或Fragment中异步加载数据。文章概述了LoaderManager、LoaderCallbacks、Loader、AsyncTaskLoader及CursorLoader等关键类与接口的作用。

被折叠的 条评论
为什么被折叠?



