AsyncQueryHandler -->同步更新

 

  1. class QueryHandler extends AsyncQueryHandler {  
  2.            QueryHandler(ContentResolver res) {  
  3.                super(res);  
  4.            }  
  5.              
  6.            @Override  
  7.            protected void onQueryComplete(int token, Object cookie, Cursor cursor) {  
  8.                mActivity.init(cursor);  
  9.            }  
  10.        }  
 

 

AsyncQueryHandler--->當contentProvied發生變化時候同步更新顯示就可以通過使用AsyncQueryHandler類來達到這一要求

上面的代碼--->onQueryComplete()--->就是當cursor更新完之後的

 

  1. public void init(Cursor c) {  
  2.           
  3.         mAdapter.changeCursor(c);  
  4.         if (mQueryCursor == null) {  
  5.             MusicUtils.displayDatabaseError(this);  
  6.             setListAdapter(null);  
  7.             mReScanHandler.sendEmptyMessageDelayed(01000);  
  8.             return;  
  9.         }  
  10.         MusicUtils.hideDatabaseError(this);  
  11.     }  
 

 

如上面的當cursor變化後就把adpter中的新cursor給新的值

作用:

當查詢大量數據的時候,爲了不阻塞UI線程,而提供的一個AsyncQueryHandler extentd Handler

相當於我們線程中開始的handler。sendmessage()-->處理我們的東東

結束時候又handler.sendmessage()的作用一樣。

不用通過線程來處理查詢中費時間的事情。通過這個就可以實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章