我想将历史数据存储在 sqlite 数据库中。 最多应确保 20 个“条目”。
添加新条目时,应删除最旧的条目,并将新条目添加到列表的开头。 调用历史记录时,我希望它以相反的顺序显示(最新条目在前)
据我所知,光标本身无法实现该功能。我需要将我调用的光标转换为另一种 MAP 类型。问题是哪一个以及如何实现这一行动。
最佳答案
那应该没那么难。您的历史记录表需要一个 id 列。当使用游标和适配器时,它也是强制性的。将 id 列定义为 auto incremented 。因此,每次向表中插入新行时,新行都会自动获得一个唯一的 id,该 id 高于分配给之前插入的行的最后一个 id。
您必须编写一个在想要向数据库添加新条目时调用的方法。在该方法中,您执行以下操作。
- 检查数据库表中的项目数。
- 如果条目少于 20 个,则不执行任何操作。
- 如果条目多于或等于 20 个,则查询 lowest id 的行并删除它。
- 将新条目添加到数据库中。它会自动获取表中所有行的最高 id。
当您想要使用游标显示列表中的条目时,您可以通过 SQL 命令 order by 定义返回行的顺序。 。
关于java - 将历史记录存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864112/