如何与firebase同步SQLite数据库?



我的应用程序使用SQLite数据库,但是我想让用户在不同的手机上访问他们的数据,如果他们想的话。我不想放弃SQLite,而是开始使用Firebase,因为Firebase需要注册和身份验证,这对一些用户来说是不可取的。用户应该有一个选择,他们是想注册并使用firebase还是坚持使用脱机的SQLite数据库。如果用户离线或退出Firebase,然后在用户登录或支持在线时对数据(添加,删除)进行更改,我希望这些更改也反映在Firebase上。要做到这一点,需要采取哪些步骤?

我不想放弃SQLite而开始使用firebase,因为firebase需要注册和身份验证,这对于一些用户来说是不可取的。

如果使用其中一个提供者的身份验证机制不可取,那么您应该考虑实现匿名身份验证。它的基本意思是,它允许你创建一个匿名用户,而不必询问任何信息。

用户应该有一个选择,他们是否想注册和使用firebase或坚持离线SQLite数据库。

虽然这个机制可以实现,但我看不出你为什么要这样做,因为实时数据库和云Firestore都有自己的离线持久性机制。后者,对于Android和Apple平台,默认情况下启用离线持久性。

如果用户离线或退出firebase,然后对数据进行更改,如(添加,删除),当用户登录或支持在线时,我希望这些更改也反映在firebase上。

这就是脱机持久性机制的作用。在脱机时,所有操作都被添加到队列中,一旦设备恢复连接,所有操作都与Firebase服务器同步。

要做到这一点需要做哪些步骤?

对于Cloud Firestore,没有。在使用实时数据库的情况下,只需使用以下行启用它:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);