我有一个初始化游戏的 Activity ,它从多个 SQLite 表中进行多次选择和插入。
我试图理解 AsyncTask,但是,从我目前阅读的所有示例来看,我想知道我是否必须为我需要执行的每个不同的数据操作子类化 AsyncTask?
例如,我的 NewGame Activity 执行以下操作:
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个 Activity ,都严重依赖数据库读写。
那么,基本上,我如何最好地使用 AsyncTask 来执行许多不同的 SQLite 操作?
最佳答案
您可以将参数传递给 AsyncTask,甚至更多,如果您使用嵌套类,则可以使用 AsyncTask 类内部的全局变量,通过使用上述一种或两种提到的辅助工具,您应该能够使用同一个类并让它根据您传递的参数做不同的事情。我认为没有必要定义多个 AsyncTask。
您将需要在每个 Activity 中定义一个 AsyncTask。
我写了需要,因为你真的不需要,但这样做很舒服,而且它易于读/写代码,因为 AsyncTask 只与 Activity 相关联。这当然是假设您使用嵌套类,我认为只为 AsyncTask 编写一个单独的类文件没有意义。
关于Android AsyncTask - 每个数据库操作一个子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400677/