Android删除所有行或更新并删除旧?

时间:2015-04-09 18:37:28

标签: android sqlite

我需要在我的Android应用程序中存储来自我的Web服务器的联系人列表。 android数据只是Web服务器的副本,并且联系人没有来自表的外键。我正在考虑定期更新android数据。但我想知道哪种方法最好更新数据,我想:

  1. 从表中删除所有行并插入来自Web服务器的所有数据
  2. 更新与网络服务器匹配的行,并删除未更新的行。
  3. 哪种方法在性能方面更好?

1 个答案:

答案 0 :(得分:1)

这是我在开展项目时所做的事情:

  • 首先,截断整个表并对应用程序中的数据库进行全新存储取决于要同步的数据大小。显然,如果尺寸很小,可以删除所有内容。
  • 我使用的解决方案是在远程服务器(对应表)中有一列,当删除联系人项目时,您将使用时间戳更新为已删除或只是说[已删除]。
  • 同步到手机时,请检查您是否仅同步那些未删除的项目或已更新/新的项目。或者
  • 使用JSON字段[已删除:true]同步联系人,然后在您的Android代码中同步一次,检查是否[deleted == true]并从而从本地数据库中删除该联系人项目。您只需在存储新项目时遍历列表。
  • 这意味着您将仅下拉新项目或更新项目,并且不会不必要地触及未修改的项目。这减少了你必须做的交易量。

祝你好运,我希望这会有所帮助。