您的位置:首页 > 产品设计 > UI/UE

Android学习——AsyncQueryHandler

2014-08-04 20:26 429 查看
AsyncQueryHandler定义:A helper class to help make handling asynchronous
ContentResolver
queries easier.异步增删改查(
ContentProvider数据
)的帮助类一般数据量较小时,可以用ContentProvider操作数据库,数据量大时,可能会发生ANR,所以用AsyncQueryHandler来进行异步操作数据库。
//新建一个类
private class BackgroundQueryHandler extends AsyncQueryHandler {

public BackgroundQueryHandler(ContentResolver cr) {
super(cr);

}

@Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
mNotesListAdapter.changeCursor(cursor);
super.onQueryComplete(token, cookie, cursor);
}

}
<pre name="code" class="java">//新建一个对象
mContentResolver = getContentResolver();
mBackgroundQueryHandler = new BackgroundQueryHandler(mContentResolver);
//查询
String selection = NoteColumns.PARENT_ID + "=?";mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,<span style="white-space:pre">	</span>Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection,<span style="white-space:pre">	</span>new String[] { String.valueOf(mCurrentFolderId) },<span style="white-space:pre">	</span>NoteColumns.MODIFIED_DATE + " DESC");
//查询结束后操作
@Override<span style="white-space:pre">		</span>protected void onQueryComplete(int token, Object cookie, Cursor cursor) {<span style="white-space:pre">			</span>mNotesListAdapter.changeCursor(cursor);<span style="white-space:pre">			</span>super.onQueryComplete(token, cookie, cursor);<span style="white-space:pre">		</span>}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: