0
我有它的一些碎片的應用程序。在其中一個片段中,我經常調用db(大約4-5),但是當用戶與屏幕交互時,它們散佈在片段中的所有位置。例如,按下按鈕時,獲取所有類型爲b的記錄......等等。我知道我們應該在單獨的線程中優先執行所有數據庫操作,並且我知道AsyncTask以及它如何用於執行這個。異步任務來處理多個數據庫調用
我的問題是,因爲我在多個方法中調用了數據庫,創建一個新的異步任務只是爲了每次在分段中的不同位置需要數據庫調用時都沒有任何意義。有沒有一種方法可以在一個片段的不同位置使用一個乾淨而簡單的單個異步任務處理所有這些任務來調用多個db調用?
一個問題,如果我想有得到基於所取得的數據庫調用執行不同的任務是什麼。我的意思是我想要不同的OnPostExecute異步調用,如果我讀一條記錄vs寫一條記錄 –
我修改我的示例以顯示如何使用onPostExecute。如果您希望能夠同時運行多個DBRunnable,則需要將它們傳遞給DBTask的構造函數,以便doInBackground()和onPostExecute()可以遍歷可運行子集。如果你這樣做,AsyncTask的參數和結果已經過時並且可以是無效的。 –
Sory再次打開此帖,但這是最合適的答案,所以在這裏。這是什麼runnables [0] .executeDBTask();這是什麼意思?你會如何做到這一點? – JoaoFilipeClementeMartins