Android异步查询框架AsyncQueryHandler使用简介
1.首先是写一个查询的方法
//查询数据 private void startQuery() { Uri uri=Sms.CONTENT_URI; String selection=" thread_id=?"; String[] selectionArgs=new String[]{thread_id}; //查询 //projection 查询的字段 queryHandler.startQuery(0, null, uri, SMS_PROJECTION, selection, selectionArgs, " date DESC"); }
2.把需要查询的字段给抽取出来。
/** * 将查询所用的字段处理出来 */ private static final String[] SMS_PROJECTION=new String[]{ "_id", "address", "date", "type", "body", }; /** * 当前字段所对应的位置 */ private static final int ID_COLUMN_INDEX = 0; private static final int ADDRESS_COLUMN_INDEX = 1; private static final int DATE_COLUMN_INDEX = 2; private static final int TYPE_COLUMN_INDEX = 3; private static final int BODY_COLUMN_INDEX = 4;
3.然后继承异步查询框架
private class QueryHandler extends AsyncQueryHandler{ public QueryHandler(ContentResolver cr) { super(cr); } //查询执行完成后悔执行这个方法 protected void onQueryComplete(int token, Object cookie, Cursor cursor) { // TODO Auto-generated method stub super.onQueryComplete(token, cookie, cursor); //界面更新 adapter.changeCursor(cursor); } }
如果,这篇博客帮您解决了问题,不妨点击一下右下角的【推荐】。如果,您希望更容易地发现我的新博客,不妨点击一下【加关注】。因为,我的热情需要您的肯定和支持!感谢您的阅读,如果文章中有错误或者您有什么好的建议,也欢迎您直接留言批评指教。Thanks,friends! |