我还不熟悉Room和Google Drive API,我想知道是否可以创建一个Room数据库并将其存储在隐藏的Google Drive App文件夹中,以便跨设备同步。如果有人实现类似的东西,一个简短的例子就会很棒。谢谢!
编辑:
使用LiveData观察Room数据库中的某些内容发生变化,然后触发同步到Google云端硬盘怎么样?
答案 0 :(得分:1)
即使可能,也可能无法可靠地工作。
SQLite需要直接对文件系统进行数据库访问。房间没有改变。我从未使用过Google云端硬盘API,因此我不知道它是否为您提供了对内容的直接文件系统访问权限(例如,java.io.File
)。如果没有,那么你想要的就不可能了。
可靠性问题源于Google云端硬盘是您自己的独立应用。当您的应用未主动使用数据库时,驱动器应仅使用该文件。我不知道Drive是否正在采取任何措施来确保这一点。否则,您可能会损坏数据。如果用户在Drive完成任何同步工作之前修改了多个设备上的数据(例如,其中一个设备当前处于脱机状态),您也会收到数据损坏。