美文网首页
AsyncQueryHandler 源码学习

AsyncQueryHandler 源码学习

作者: binwin20 | 来源:发表于2017-03-06 21:27 被阅读61次

    原文链接

    ContentProvider 的单线程执行工具类

    构造函数

    • 在构造函数中需要传入 ContentResolver 对象
    • 创建一个 Thread 线程,用于线性执行 msg
    • 然后创建一个 Handler 对象(WorkerHandler)。

    能处理的操作

    • Query
    • Insert
    • Update
    • Delete

    执行流程

    • AsyncQueryHandler 也是一个 Handler 对象。当使用 startInsert/startUpdate 等方法时,先将 msg 发送到 WorkerHandler 的队列中,在其 handleMessage 时执行并获得结果放入 result 中,然后发送到 AsyncQueryHandler 这个 handler 的队列中。
    • AsyncQueryHandler 的 handleMessage 处理比较简单,直接将 token, cookie, args.result 作为参数传递给 onQueryComplete。

    重要结构体

    protected static final class WorkerArgs {
            public Uri uri;
            public Handler handler;
            public String[] projection;
            public String selection;
            public String[] selectionArgs;
            public String orderBy;
            public Object result;
            public Object cookie;
            public ContentValues values;
        }
    

    相关文章

      网友评论

          本文标题:AsyncQueryHandler 源码学习

          本文链接:https://www.haomeiwen.com/subject/iiaugttx.html