Android 应用程序 - 跨多个设备同步 SQLite 数据库

Posted

技术标签:

【中文标题】Android 应用程序 - 跨多个设备同步 SQLite 数据库【英文标题】:Android App - Sync SQLite Database Across Multiple Devices 【发布时间】:2015-10-03 08:19:07 【问题描述】:

您好,我是 android studio 新手,正在寻找一些答案

我目前正在创建一个具有 SQLite 数据库的应用程序,用户可以相应地添加/编辑/删除数据

我想要的是,如果用户在他们的手机上向他们的数据库中添加一个条目,如果他们接着在他们的平板电脑上,新条目将被同步并显示,反之亦然

是否有标准/推荐的方法?

谢谢

【问题讨论】:

【参考方案1】:

推荐的方法是Sync Adapters。

您还必须了解 Web 服务和服务器编程,才能将数据存储在服务器上并向用户公开。

有一些第三方解决方案,如Parse 可用,它们可能会有所帮助。

【讨论】:

【参考方案2】:

第二种方法可能是使用 Google Drive,即应用文件夹。

关于here的信息很多。

这种方法的优点:

你根本不存储用户数据,所以(我认为)不需要 保密政策。 您不依赖任何第三方服务。 用户可以轻松删除所有数据。

这种方法的缺点:

需要 Google 登录集成。 慢 您必须弄清楚如何将数据库与来自服务器的文件合并。

获取数据的算法:

从 Drive 应用程序文件夹中获取文件。 检查它是否是您的应用数据库的有效文件(创建一些系统表 在数据库中,并检查它是否存在) 将更改与应用数据库合并。

发送数据的算法:

获取数据(确保您有最新的同步)。 合并更改。 发送(重写)文件到云端硬盘应用文件夹

祝你好运!

【讨论】:

以上是关于Android 应用程序 - 跨多个设备同步 SQLite 数据库的主要内容,如果未能解决你的问题,请参考以下文章

Android Calendar Provider:是不是有可跨多个设备使用的事件唯一标识符?

在多个 iOS 和 Android 设备之间保持数据库同步的最简单方法是啥?

跨设备同步核心数据

跨多个数据库的 SQLite 视图。这个可以吗?有没有更好的办法?

数据同步等核心数据的 iCloud 替代方案

iCloud NSUserDefaults 未跨设备同步(通过 MKiCloudSync)