任何人都可以告訴我區別AsyncTaskLoader和AsyncQueryHandler嗎?AsyncTaskLoader vs AsyncQueryHandler
我想在我的應用程序使用AsynTaskLoader ..現有一個在我的應用程序是AsyncQueryHandler ..
我說得對有關AsyncTaskLoader是更換AsyncQueryHandler的?
正確我如果我錯了..我是非常新的android。
任何人都可以告訴我區別AsyncTaskLoader和AsyncQueryHandler嗎?AsyncTaskLoader vs AsyncQueryHandler
我想在我的應用程序使用AsynTaskLoader ..現有一個在我的應用程序是AsyncQueryHandler ..
我說得對有關AsyncTaskLoader是更換AsyncQueryHandler的?
正確我如果我錯了..我是非常新的android。
如果你閱讀文檔:
一個輔助類來幫助處理異步ContentResolver的查詢更加容易。
摘要裝載機,提供了一個的AsyncTask做的工作。有關更多詳細信息,請參閱Loader和LoaderManager。
所以他們是非常不同的。 AsyncQueryHandler
用於異步查詢/插入到ContentResolver
中,AsyncTaskLoader
是對任何種類的後臺處理(HTTP,SQL等)使用AsyncTask
做的新的Loader
機制(在API級別11中引入)的實現。
你也應該看看CursorLoader
,也許這是你所需要的。
我要說的是,如果你只是想從ContentResolver
讀你應該使用CursorLoader
,但如果你想插入,刪除等成ContentResolver
,也許最好是使用AsyncQueryHandler
。
CursorLoader
是AsyncTaskLoader
的子類。和LoaderManager只能提供一種方法來訪問ContentResolvers上異步調用的query()操作的結果。其他ContentResolver操作仍然是同步的。
但是,AsyncQueryHandler
異步調用所有ContentResolver調用。不只是查詢,還包括插入,刪除,更新。
真的非常感謝您的回覆......所以,您的意思是說,在我使用AsyncTaskLoader的情況下,不需要使用CursorLoader。是不是? –
是的。只使用其中的一種,這最適合你。所以我們+1如果有用的答案,可以跳過'謝謝'部分:) –
@OvidiuLatcu如果啓動它們的活動被殺死或暫停,AsyncQueryHandler操作(CRUD)會發生什麼?這些行動是繼續做他們的工作還是他們的死亡/取消?謝謝 – Axel