【发布时间】:2020-04-08 15:43:38
【问题描述】:
对于 Android 启动器(主屏幕)应用程序项目,我想实现一个名为“按使用情况排序”的功能。这将按照用户可设置的时间范围内应用的启动次数进行排序。
当前实现的想法是存储一组 unich 纪元时间戳,每次启动一个。
此外,它将存储一个计数器,缓存所选时间范围内的当前启动数量,每次启动都会增加。当然,随着时间的推移,这必须定期重建,但只是每隔几个小时或至少在所选时间范围的 x% ,所以计算肯定不会像没有计数器那样频繁地运行,因为每次都需要这些信息屏幕上的任何应用程序条目都需要排序 - 但我不太确定它在实际使用过程中是否重要。
我现在不确定如何将时间戳数组存储在 SQL 数据库中。由于有一个表包含一个记录,其中包含有关每个启动器条目的信息,因此我考虑了以下选项:
- 将 unix epoch 数组以序列化形式(可能是 JSON 数组)存储到条目记录的一个字段中
- 使用
为启动时间创建一个单独的表 一种。每条记录都以与条目关联的 id 开头,然后是所有启动时间,每个字段一个
湾。每条记录一个条目 ID 和一个启动时间的组合
这些选项显然具有使用适当类型存储时间戳的优势
【问题讨论】:
-
任何数据库必须保存“任意数量的项目”的一件事是一个表 ...
-
@marc_s 是的!但仍然:选择b。或选项 a。是要走的路吗?
标签: sql arrays sqlite database-design