2010-12-09 31 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