Android:链接和同步室数据库与在线服务器数据库



我正在开发一个使用数据库将数据存储在服务器上的应用,将新数据本地保存到设备,并在重新建立连接时同步服务器的任何更改。什么是最好,最有效的方法?

我一直在看Android Room持久性库,这似乎是合乎逻辑的选择,但是我不确定它如何同步到与本地存储数据库的更改。我已经查看了多个线程和论坛寻求帮助,但到目前为止还没有运气。请帮助。

一种方法是构建自己的同步适配器:https://developer.android.com/training/sync-adapters

您需要处理客户端和服务器之间的大部分同步逻辑,但这允许您使用服务器中的任何数据库技术。从文档中:

同步适配器不会自动化任何数据传输任务。如果要从服务器下载数据并将其存储在内容提供商中,则必须提供请求数据,下载并将其插入的代码。同样,如果要将数据发送到服务器,则必须从文件,数据库或提供商中读取它,并发送必要的上传请求。您还必须处理数据传输运行时发生的网络错误。

同步适配器不会自动处理服务器上数据与设备上数据之间的冲突。同样,它不会自动检测服务器上的数据是否比设备上的数据更新,反之亦然。相反,您必须提供自己的算法来处理这种情况。

使用firestore并启用离线数据持久性。https://firebase.google.com/docs/firestore/manage-data/enable-offline

最新更新