我有两个表,SyncedComments
并且QueuedComments
,后者保存本地评论,直到它们与网络服务器同步,当它们成功同步时,它们被放置在同步表中,我的应用程序应该对每种类型都无动于衷。我通过 CursorLoader 加载评论,当用户阅读它们时,它们可能会被移动到同步表中。假设用户也可以编辑评论,也许在他们被移动的时候,所以应用程序应该知道评论在哪里,不管它是表。
为了支持这一点,我想到了一个包含 3 列的表,local_id、synced_id 和 queued_id,local_id 是持久的,并且只是作为对其他两个 id 之一的引用。当创建评论时,插入新行,其 sync_id 设置为 NULL,队列 id 已给出,当评论被移动时,queue_id 设置为 NULL 并设置 sync_id。这样我的应用程序只需要始终引用本地 id。
这个解决方案看起来如何?有什么缺陷吗?它可以做得更聪明吗?