gpt4 book ai didi

java - 从 SQLite 检索随机数据

转载 作者:行者123 更新时间:2023-12-02 06:14:52 25 4
gpt4 key购买 nike

我想设计一个语言学习 Android 应用程序,从数据库中检索随机问题集并向用户显示。

我有不同类型的问题,例如多项选择题、填空题、匹配正确的选项、将单词排列成正确的句子、听音频并回答理解问题。

如何将这些不同类型的问题存储在数据库中并随机检索并显示给用户进行回答?

我正在使用 SQLite。

最佳答案

这是一个非常广泛的问题,您需要考虑很多事情。例如,问题的建模和持久性——将它们存储在数据库中。几年前我制作了一个类似的 Android 应用程序。

我建议的第一件事是循序渐进;如果您从多项选择题(都有四个答案)开始,事情就会容易得多。然后,一旦您完成了该工作,请添加其他类型的问题。

为了对对象域进行建模,我建议从单个基 Question 类开始。这可以包含一些常见属性,例如唯一 ID、名称/短名称,也许还有某种难度指标。

此后,您可以拥有问题的子类型,例如 MultipleChoiceQuestionShortAnswerQuestionEssayQuestion。它们可能具有其他属性(例如多项选择的可能答案列表)。

将所有这些映射到一堆表并不简单。通常的方法是每个类一张表;另一种选择是一个包含所有类的所有属性的表,以及某种“类型”鉴别器。我建议前者,因为它可以更清晰地分离属性。

最后,在随机方面,有两种方法:数据库级别的随机(更有效,因为它返回的数据较少)或应用程序级别的随机。区别在于“嘿数据库,给我提供 N 个随机问题”与“嘿数据库,给我提供所有问题;嘿应用程序,选择 N 个随机问题。”

要利用数据库,您可以使用此答案 here ,其中他们使用 ORDER BY RANDOM() LIMIT N。我不了解 SQLite,但是在 SQL Server 中,对于大型数据集,这可能会非常慢;如果您有很多问题,请对其进行分析并查看这对于您的应用程序来说是否太慢。

如果您有一个包含所有问题的基本问题表,那么这对您来说将非常容易。如果没有,您可能需要执行类似的操作,即投票A多项选择题、B简答题等,其中A + B + 。 .. = N` 个您想要的问题。

关于java - 从 SQLite 检索随机数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21579733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com