2010-12-09 30 views
4

我有一個初始化遊戲的活動,它可以從多個SQLite表中進行多重選擇和插入。Android AsyncTask - 每個數據庫操作一個子類?

我想了解AsyncTask,但是,從我讀過的所有示例中,我想知道是否必須爲每個不同的數據操作創建子類AsyncTask,我需要做什麼?

例如,我NewGame活動執行以下操作:

1) Insert new player record into PLAYER table 
2) Insert new player's pet record into PET table 
3) Select cursor of n records from INVENTORY 
4) Insert array of ranomly chosen inventory items into PLAYER_OWNED table 
5) ....more things of a similar nature 

有將要爲各種事情多了一些選擇和插入太大,所以有對每一個單獨的子類是會得到瘋狂。更不用說,這場比賽將有大約8項活動,所有這些都嚴重依賴於數據庫讀寫。

因此,基本上,我如何最好地使用AsyncTask來執行許多不同的SQLite操作?

+0

您介意分享您閱讀過這個主題的教程嗎? – antonio081014 2013-10-14 23:23:14

回答

3

如果你使用嵌套類,你可以傳遞參數給一個AsyncTask,你可以使用AsyncTask類中的全局變量,通過使用上面提到的或者兩個提到的幫助,你應該可以使用相同的類,並根據你傳遞的參數做它不同的事情。我沒有真正需要定義多個AsyncTasks。

你會需要在每個活動中定義一個AsyncTask。

我寫了需要,因爲你真的不需要這樣做,但是這樣做很舒服,而且易於讀寫代碼,因爲AsyncTask只與活動相關聯。這當然會讓你使用嵌套類,我認爲沒有必要爲AsyncTask編寫一個單獨的類文件。

+0

謝謝,你描述的聽起來完全合情合理。我讀過的教程有單獨的嵌套子類用於讀取,插入和刪除數據,所以我有點擔心被類超載。 你描述的聽起來完全合乎邏輯。 – JimBadger 2010-12-09 16:51:14