【问题标题】:Is it necessary to use a database in my case?在我的情况下是否需要使用数据库?
【发布时间】:2021-05-12 07:54:28
【问题描述】:

我制作了一个测验应用程序,它运行良好。 我使用ArrayList 来“存储”我自己提出的所有问题。现在它包含60个问题。我最终想将其扩展到约 300 个问题。现在看起来像这样:

questions = new ArrayList<>();
Question question0 = new Question(R.drawable.piano, "Welke coureur verkoos een carrière als coureur boven een carrière als pianist?", "Max Verstappen", "Fernando Alonso", "Jean Alesi", "Adrian Sutil", 3);
questions.add(question0);

我已经这样做了 60 次了。起初我以为我可以使用 for 循环来添加所有问题,例如:

for (int i=0; i<questions.size(); i++){ 
questions.add(i);
}

但这是不可能的,因为一开始问题的大小仍然是 0。现在我有很多相同的代码,我想知道如何解决它。我可以使用数据库,但我仍然必须创建列/行并且必须添加所有问题。哪个需要更多时间,对吧?

我想获得一些关于使用什么以及为什么使用的建议。

谢谢。

【问题讨论】:

  • 只需在列表中添加一个“新问题 (...)”。但即便如此,即使只是解析文件资源也会让事情变得更容易。数据库有必要吗?不,但它可能更好

标签: database for-loop arraylist android-sqlite


【解决方案1】:

在我的情况下是否需要使用数据库?

没有。但是,根据您想要从测验中获得什么,数据库可能是要走的路。如果您只是要进行测验,相同的测验具有相同的问题和答案,那么应用程序可能就不需要了。

但是,如果您冒险存储结果,显示问题的子集(例如那些未尝试或未正确回答的问题等),那么您正在进入可能甚至需要的数据库领域。

我可以使用数据库,但我仍然需要创建列/行并且必须添加所有问题。

将通过添加问题来创建行。

这需要更多时间,对吧?

也许不使用可用的 SQLite 工具之一,可以使用这样的工具创建数据库,然后将其复制到应用程序中(通常作为资产)(实现复制资产的更多工作)。当然,如果应用程序开发,那么这可以节省时间(如果实施得好)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多