我应该使用平面文件还是数据库来存储 Android 上的随机报价应用程序的报价?

StackOverflow https://stackoverflow.com/questions/1565869

我正在 Android 上开发一个应用程序,它会从大量引言中随机挑选并显示鼓舞人心的引言(或诗句)。在 Android 上,我可以在平面文件和 SQLite 数据库之间进行选择。

该应用程序应满足以下条件:

  1. 可扩展到 10^6 条引文和/或经文

  2. 速度要非常快(即只需按一下按钮即可立即检索并显示报价)

  3. 能够从外部源加载新的报价(采用我尚未决定的格式)

我必须使用什么数据格式?谢谢。

有帮助吗?

解决方案

我会使用一个非常简单的数据库,单个表:

Quotes
ID          sequential integer PK
Quote       text/string

带有可能的“已查看”位字段,您可以更新该位字段以防止重复。生成一个随机值并从表中选择该行,将其标记为已查看并完成操作。

平面文件的问题是快速查找并读取文件中间的引用。这就是数据库擅长的地方。另外,对于“平面”文件,文件行末尾会浪费大量空间。

另外,如果可以加载新的报价,为什么要一次填充 10^6 呢?只需加载足够的内容以使应用程序继续运行并按顺序浏览它们,删除已查看的内容并加载新的内容。这种方法需要您跟踪最后加载的报价,因此您总是加载新的报价。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top