0

我在这个问题上被困了一段时间Android

SQLite是否可以从解析的对象中比较本地数据库JSON并更新表(如果它不相似)?

例如,我有一个预先填充的SQLite数据库,有人更新了服务器数据库。因此,它不会删除以前的数据库并重新填充应用程序的本地SQLite数据库,它只会进行后台JSON解析并比较SQLite数据库的内容。

如果它发现有更改的行,它只会拉出该JSON对象并更新本地SQLite数据库上的对应对象。

4

2 回答 2

1

如果表架构包含反映插入或更新时间的时间戳列,您可以下载带有时间戳的行列表并与您的本地数据库进行比较,然后只需下载并用本地较旧的时间戳替换这些记录上的完整行数据库。

您需要考虑服务器上已删除的记录。

于 2013-04-02T03:03:03.110 回答
1

我不确定在后台进程中检查服务器数据库的每一行有多昂贵,但这里有一个建议。为什么不从服务器创建一个有点通知表,然后必须在此表中发布与本地 sqlite 数据库有关的服务器数据库中的任何相关更改。您的后台进程现在只是检查通知表并创建将相应地更新您的本地数据库的代码。

于 2013-02-08T04:47:10.100 回答