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

Database 我应该使用平面文件或数据库来存储Android上随机报价应用程序的报价吗?,database,android,sqlite,flat-file,Database,Android,Sqlite,Flat File,我正在Android上开发一个应用程序,可以从大量的引文中随机挑选并显示一段鼓舞人心的引文(或韵文)。在Android上,我可以选择平面文件和SQLite数据库 应用程序应满足以下条件: 可扩展到10^6个语录和/或诗句 非常快速(即,点击按钮立即检索和显示报价) 能够从外部来源加载新的报价(采用我尚未决定的格式) 我必须使用什么数据格式?谢谢。我会选择一个非常简单的数据库,单表: Quotes ID sequential integer PK Quote text

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

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

  • 可扩展到10^6个语录和/或诗句

  • 非常快速(即,点击按钮立即检索和显示报价)

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


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

    我会选择一个非常简单的数据库,单表:

    Quotes
    ID          sequential integer PK
    Quote       text/string
    
    使用一个可能的“已查看”位字段,您可以对其进行更新以防止重复。生成一个随机值并从表中选择该行,将其标记为“已查看”,然后使用它完成操作

    平面文件的问题是快速查找和读取文件中间的引号。这就是数据库所擅长的。此外,如果使用“平面”文件,文件行末尾会浪费大量空间


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

    可扩展和可搜索,嗯,对我来说,这听起来像数据库:)