Loader加载器

来源:互联网 发布:火石软件招聘 编辑:程序博客网 时间:2024/05/16 15:07

Loader

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