Android:将json数据与数据库进行比较

时间:2017-11-12 22:25:12

标签: android json database compare

在我的Android应用中,我有一个从服务器上的JSON获取的对象列表(Employees)。每当我打开应用程序时,它都会解析JSON,创建ArrayList并填充RecyclerView。我想创建一个数据库并从数据库而不是JSON加载数据(这样它也可以脱机工作并且速度更快)。

我的问题是:如何更新数据库以确保我在JSON和数据库中拥有相同的数据?

这样做的最佳方法是什么?我注意到,当我打开gmail应用程序时,即使我处于离线状态,它也会加载我的电子邮件,因此它也必须使用数据库。

编辑:使用DBFlow解决它,只需在整个列表中调用save(),它会自动决定是更新行还是插入新行。

1 个答案:

答案 0 :(得分:1)

  1. 场景“DB为空”:显示空视图消息并从API端点获取数据 - >将其保存到数据库,然后从数据库中填充RecyclerView。

  2. 场景“DB not empty”:从数据库填充 - >尝试获取新数据,如果没有连接,它仍会显示旧数据,否则从第一个方案开始执行步骤。

  3. 此外,您可以比较填充RecyclerView的自定义类,以防止在重新加载相同数据时出现故障。