在应用程序启动时将外部数据库与 SQLite 数据库同步
Posted
技术标签:
【中文标题】在应用程序启动时将外部数据库与 SQLite 数据库同步【英文标题】:Sync an external database with SQLIte database on application start 【发布时间】:2011-10-20 17:02:09 【问题描述】:我有一个用于我的 android 应用程序的 SQLite 数据库,它在服务器上存储来自另一个数据库的一些数据的副本。当用户打开应用程序时,我想将本地副本同步到外部 master。用户可能访问过相关网站并插入/更新/删除数据。
如果只是插入/更新,可以使用时间戳,但由于它们可以删除数据,我不确定如何检查已删除的行。
那么,了解更改内容和更新本地副本的最佳方式是什么?
【问题讨论】:
另一个带有标志的列怎么样...新的,已删除的,没有变化... 感谢大家的所有建议!我现在有一个计划:) 【参考方案1】:我会添加一个表来审核删除(包含已删除记录的关键字段)并在同步时传输它,并在成功同步后清除表。
【讨论】:
【参考方案2】:嗯,我们正在开发 ios 项目,如果服务器会响应它的更新版本,它将与服务器同步它的数据库。 如果将所有这些更改复合到特定日期并压缩发送到应用程序,我们的服务器会增量存储执行的 SQL 和请求,在应用程序中,我的 Objective-C 包装器从下载的文件中执行 SQL 语句。
也许同样的方法对你也有好处。
【讨论】:
一位同事也提出了类似的方法——我想这就是我要做的方式。谢谢!以上是关于在应用程序启动时将外部数据库与 SQLite 数据库同步的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio - 线程完成后从 SQLite 获取数据
在单击按钮时将数据插入 Android Studio 中的 SQlite 数据库