【发布时间】:2021-12-02 10:48:02
【问题描述】:
我正在构建一个应用程序,该应用程序从服务器获取时间线帖子(如在社交媒体应用程序中),将其保存到本地房间数据库并通过分页将它们显示给 UI。我的问题是,在什么条件下,我应该从本地数据库获取帖子?
我尝试过的方法:
- 根据帖子 id(主键)降序获取帖子,但在以下情况下失败
假设用户 A 有 2 个帖子。后来,用户 B 创建了 2 个帖子(因此,具有更新的 postId)。现在,当用户 B 关注用户 A 时,后端将以这种格式返回帖子:用户 A 的 2 个帖子 + 用户 B 的 2 个帖子。但是(保存和)基于 postId 降序从本地数据库获取帖子会使用户 B 的帖子出现在用户 A 的时间轴中用户 A 的帖子下方,这似乎不正确。在反向情况下也可以考虑升序。
2.使用数据库中的时间戳列,对应数据库中帖子的插入时间,并根据时间戳获取帖子。但是批量插入的所有帖子都得到相同的值,无论是Instant.now()还是System.currentTimeMillis()
【问题讨论】:
标签: android sql kotlin android-room social-networking