`
sysuling
  • 浏览: 2031 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

contentprovider异步查询帮助类:AsyncQueryHandler

阅读更多

/**
 * A helper class to help make handling asynchronous {@link ContentResolver}
 * queries easier.
 */

 

从源码中的注释可知,AsyncQueryHandler类是contentprovider异步查询的帮助类,利用它可以很方便地实现异步访问contentprovider,它的使用很简单,看api便可以上手,下面是两个不容易弄明白的地方:

 

1. AsyncQueryHandler类并不是只能做异步查询,除了startQuery方法,它还是startInsert,startUpdate,startDelete方法,只不过这三个是final方法,不能再重写;

 

2. startQuery方法中,其他参数都好理解,前两个参数int token和Object cookie可能难懂,token用于标示本次操作,是个整形变量,不具备唯一性。cancelOperation方法的参数就是该变量。cookie这个变量,在AsyncQueryHandler类中并没有进行处理,从startQuery方法中传入,回调onQueryComplete方法时在作为变量传回。结合它的字面意义,我认为cookie变量的作用是在查询错误或者没有结果时,用于onQueryComplete方法的缓存数据,大致意思是,查询不到数据,先用cookie数据顶一下。

 

附件是android4.0的AsyncQueryHandler源码。

分享到:
评论

相关推荐

    使用AsyncQueryHandler操作ContentProvider

    为了解决这个问题,Android提供了AsyncQueryHandler类,它是一个处理异步数据库查询的工具类,适用于在后台线程中执行耗时的ContentProvider操作。 AsyncQueryHandler是在主线程之外执行查询的类,它继承自Handler...

    AsyncQueryHandler及ContentProvider代码实例

    在Android开发中,`AsyncQueryHandler` 和 `ContentProvider` 是两个非常重要的组件,它们用于高效、异步地处理数据库查询,并将结果显示到UI上,如ListView等。本篇文章将详细解析这两个组件以及相关的Adapter用法...

    安卓数据库操作案例

    这个代码可能会展示如何使用SQLiteOpenHelper来创建数据库和表,如何在ContentProvider中封装数据库操作,以及如何利用AsyncQueryHandler执行异步查询。通过学习和实践这个案例,开发者可以深入理解Android数据库...

    android学习笔记之消息机制,异步和多线程.pdf

    为了处理ContentProvider相关的异步任务,Android提供了`AsyncQueryHandler`,它是`Handler`的子类,专门用于处理数据库查询等操作。使用`AsyncQueryHandler`可以简化异步查询的实现,避免自定义复杂的回调机制。 ...

    Android自学笔记-13-ContentObserver内容观察者

    - Android 4.4(API级别19)引入了AsyncQueryHandler,它与ContentObserver配合使用,可以在后台线程中处理数据查询,避免阻塞主线程。 6. **使用LiveData和ViewModel**: - 在现代Android开发中,谷歌推荐使用...

    android学习笔记之消息机制,异步和多线程[参考].pdf

    例如,`AsyncQueryHandler`是Android提供的一种处理与`ContentProvider`交互的异步方式,它是`Handler`的子类,简化了对数据库查询的处理。通过继承`AsyncQueryHandler`并重写相关方法,开发者可以轻松实现数据库...

    程序员简历模板12.doc

    他使用AsyncQueryHandler进行异步查询,实现了ListView滑动、联系人自动提示、草稿自动保存等特性。 3. **手机万能播放器**:该应用支持多种音视频格式的本地和在线播放,还具有视频下载和搜索功能。他在项目中负责...

    android 识别U盘以及读写文件的方法

    - `AsyncQueryHandler` 是一个异步处理查询的工具类,它可以在后台线程中执行数据库查询,并在UI线程中更新结果,避免阻塞主线程。 在识别U盘的过程中,首先创建一个`ContentObserver`来监听存储设备的变化,当...

    Android-QuickSearchBox程序源码.zip

    这通过`AsyncQueryHandler`实现,它是一个异步处理查询的工具类,负责后台加载数据并更新UI。 在源码中,`SearchSuggestionsRanker`和`HistoryDatabase`扮演了重要角色。前者用于对搜索建议进行排序,考虑了用户的...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--AsyncQueryHandler之异步查询Cursor处理 |--AutoCompleteTextView自动提示的用法 |--BitMap、Drawable、inputStream及byte[] 互转 |--ContentProvider内容提供者定义 |--DatePicker日期控件 |--desktop |--Dialog...

Global site tag (gtag.js) - Google Analytics