异步查询框架原理
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中封装了查询的数据游标
|
|