5

我还不熟悉Room和 Google Drive API,我想知道是否可以创建 Room 数据库并将其存储在隐藏的 Google Drive App 文件夹中以便跨设备同步。如果有人实现了类似的东西,一个简短的例子会很棒。谢谢!

编辑:

使用 LiveData 观察 Room 数据库何时发生变化,然后触发同步到 Google Drive 怎么样?

4

1 回答 1

2

即使有可能,它也可能无法可靠地工作。

SQLite 需要直接访问数据库的文件系统。房间不会改变这一点。我从未使用过 Google Drive API,因此我不知道它是否可以让您直接访问文件系统(例如,java.io.File)。如果没有,那么你想要的就是不可能的。

可靠性问题来自于 Google Drive 是一个独立于您自己的应用程序的事实。只有当您的应用未主动使用数据库时,Drive 才应使用该文件。我不知道 Drive 是否正在采取任何措施来确保这一点。否则,您可能会损坏数据。如果用户在 Drive 完成任何同步工作之前修改了多台设备上的数据(例如,其中一台设备目前处于离线状态),您也会收到数据损坏。

于 2017-06-02T18:05:59.147 回答