我正在 Android 上开发一个应用程序,它将从大量引用中随机挑选并显示鼓舞人心的引用(或诗句)。在 Android 上,我可以在平面文件和 SQLite 数据库之间进行选择。
该应用程序应满足以下条件:
可扩展到 10^6 引文和/或诗句
速度非常快(即检索并显示报价,只需按一下按钮即可)
能够从外部来源加载新报价(以我尚未决定的格式)
我必须使用什么数据格式?谢谢。
我会使用一个非常简单的数据库,单表:
Quotes
ID sequential integer PK
Quote text/string
使用可能的“已查看”位字段,您可以对其进行更新以防止重复。生成一个随机值并从表中选择该行,将其标记为已查看并完成。
平面文件的问题是从文件中间快速查找和读取引用。这就是数据库做得好的地方。同样,对于“平面”文件,您将在文件行末尾浪费大量空间。
此外,如果您可以加载新报价,为什么要在任何时候填充 10^6?只需加载足够的内容以使应用程序继续运行并按顺序浏览它们,删除查看过的内容并加载新的内容。这种方法需要您跟踪最后加载的报价,因此您总是在加载新报价。