本文主要是介绍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---------排列条件。
这篇关于Android异步查询框架AsyncQueryHandler的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!