Loader
- Android3.0出的新特性!加载器/装载器,用于异步加载数据!而且谷歌大力推荐,加载数据的时候使用Loader!
- 特征:
- 可以用于每个Activity和Fragment
- Activity都可以使用加载器去加载数据!
- 支持异步加载数据
- 加载器这个类,可能有某一方法是在子线程中执行,类似AsyncTask!并且,在子线程中执行的方法,会以某种方式,将加载后的数据传递给主线程!
- 监控数据源并在内容变化时传递新结果
- 如果使用加载器加载数据,当数据变化的时候,无需再次加载数据,它会自动监视数据变化,并在数据变化后,更新并传递新的结果!
- 在某一配置更改后重建加载器,会自动重新连接上一个加载器的Cursor,因此,他们无需重新查询数据!
- 当某种配置改变后,无需重新调用加载方法,调用某特定重新加载方法即可!
- 可以用于每个Activity和Fragment
- 加载器使用涉及到的类!
- LoaderManager:
- 用于管理Loader的类!一个LoaderManager可以管理多个Loader!但是每个Activity或者Fragment中只能有一个LoaderManager!
- LoaderManager.LoaderCallbacks:
- 一个回调接口!这个接口帮助创建Loader和数据回调!
- AsyncTaskLoader:
- 类似BaseAdapter概念的存在,AsyncTaskLoader可以异步加载任何数据类型!Cursor数据库类型、本地数据、网络数据等等都可以!
- CursorLoader:
- 它是AsyncTaskLoader的子类!它相当于AsyncTaskLoader+ContentResolver!它是用于加载ContentProvider提供数据的最佳方式!
- LoaderManager:
- 加载器的使用
- 需要的配置
- Activity和Fragment
- LoaderManager
- Loader,如果加载的是ContentProvider,应使用CursorLoader,其他使用AsyncTaskLoader
- LoaderCallbacks
- 显示数据的SimpleCursorAdapter
- 具体使用的步骤
- 使用Activity的onCreate()方法或片段的onActivityCreated()方法初始化Loader
Context.getLoaderManager().init
- 使用Activity的onCreate()方法或片段的onActivityCreated()方法初始化Loader
- 需要的配置