Android异步查询框架AsyncQueryHandler

用ContentProvider可以操作数据库。这是在数据量的小的情况下,但是,当数据量大的时候,可能发生ANR异常(UI线程超过5秒)。

因此数据量较大时,最好使用Android已经封装好的异步查询框架AsyncQueryHandler;


AsyncQueryHandler的内部实现:

封装了调用者线程和工作者线程的交互过程。交互的主体是两个Handler,一个运行在调用者线程中,一个运行在工作者线程中,通过提供onXXXComplete()回调接口,实现事件的完成处理。

API的提供:

startInsert(),startDelete(),startUpdate(),startQuery() 4种方法,并且有对应的onXXXComplete()方法,对应的4个onXXXComplete()方法都是空实现,可以用于完成相应操作后进行后续的操作。

使用方法:

继承AsyncQueryHandler类,可以实现onXXXComplete()方法进行相应的操作。

使用时,直接调用startXXX()即可,传入的通用参数如下:‘

token--------------一个令牌,主要用来标识查询,保证唯一即可,需要跟onXXXComplete()方法传入的一致,(你也可以不一致,在同样在数据的操作结束后会调用对应的onXXXComplete()方法。)。

cookie------------你想传给onXXXComplete()方法的一个对象。

Uri-----------------进行查询的通用资源标示符;

projection-------查询的列。

selection--------限制条件。

selectionArgs--查询参数;

orderBy---------排列条件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值