Android AsyncTask - 每个数据库操作一个子类?

标签 android sqlite android-asynctask

我有一个初始化游戏的 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/

相关文章:

android - 进行动态但方形布局的简单方法

android - 将 textView 与 Kotlin 中的字符串进行比较

java - 如何使用单独的异步任务类显示旋转进度对话

java - 等待多个 AsyncTask 完成

python - 在链接到自定义 sqlite3 时使用 pyenv 构建 Python 3 版本

android - AsyncTask 仍然给出 networkOnMainThreadException

android - ScrollView如何设置多个 View ?

java - 如何正确地将 double 从服务发送到 Activity

android - SQLite Where IN 后跟变量 String

node.js - 如何在 Sveltekit 中集成 sqlite3?