从互联网脱机的移动数据库应用程序

问题描述:

我有一个体系结构问题。如果您有一个在数据库服务器上存储信息的Web应用程序,理论上来说,我应该可以将中间层逻辑用于移动应用程序。当移动应用程序启动时,它可以连接并填充本地SQLite数据库或使用JSON在移动应用程序中存储信息。如果移动应用程序还需要以离线模式工作,该怎么办?下次连接时是否同步?你有移动下拉并填充一个完整的数据库,或者它可以脱机使用吗?构建必须从在线到离线的移动应用程序的最佳方法是什么?从互联网脱机的移动数据库应用程序

最简单的解决方案是将“LastEdited”列放入数据库的每个表中,然后拖动查询自上次同步以来更新的所有数据(并且您可以对索引执行检查以便在您进行detirmine需要更新或插入到自己的本地缓存) 删除行的能力,实际上应被限制在布尔“请将isDeleted”标志在这种情况下,保持同步过程简单好用。

如果你有那么编辑或创建从您的应用程序行,那么你应该保留的更改的本地表同步时,你可以去网上的能力,并可能需要实现某种形式的“合并”的逻辑。你需要考虑

几件事情。

如果你的程序是只读的,你应该实现在本地为d的“增量同步”的逻辑。保留上次同步的时间戳并从服务器获取更新。当然,你需要考虑本地数据库大小变得过大。

如果你的应用程序是读/写,脱机工作时,你需要考虑特别的同步双向时相同的记录可以在不同的设备/用户进行更新。