[sms] 03_异步查询框架原理

Android 4.0

异步查询框架原理

1、初始化ListView 2、给ListView设置一个CursorAdapter数据适配器
3、通过异步查询框架AsyncQueryHandler
AsyncQueryHandler比ContentResolver.query()好,简单
ContentResolver原理:
1、AsyncQueryHandler构造方法,开启一个子线程
2、子类调用AsyncQueryHandler中的startQuery()方法,将参数给保存,然后发送消息给 mWorkerThreadHandler 处理(也就是WorkerHandler)
3、在WorkerHandler类中handleMessage()方法中,通过resolver.query()内容提供者查询数据,
然后发送reply.sendToTarget()给AsyncQueryHandler处理消息,
4、在AsyncQueryHandler的handleMessage(Message)中,调用onQueryComplete(token, args.cookie, (Cursor) args.result)方法
5、而onQueryComplete()方法是一个空的实现,由子类来实现
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
        // Empty}
6、其中的cursor中封装了查询的数据游标