使用Google Drive逻辑备份和同步SQLite数据库?

时间:2015-10-22 06:56:31

标签: android sqlite google-drive-android-api

我想要"备份"部分要在后台完成,只有在用户不使用它时才会启动。我正在使用android-priority-jobqueue并创建了一个可以实现此目的的Job对象。

以下是我目前的问题:

  1. 但现在我在考虑如何确保用户没有使用该应用程序以便我可以运行该作业。我也在考虑如何在用户使用应用程序时备份或同步数据库,就像在其他多个应用程序中一样。

  2. 我不知道如何在不遗漏任何数据的情况下将数据恢复到应用程序。例如,有两个设备。设备1将其数据库备份到Google云端硬盘中。现在,设备2,它几小时没有连接,它在数据库中创建了新的条目。然后它连接到互联网,它必须从Google云端硬盘获取其他条目,而不会覆盖它当前的条目。

  3. 我真的很困惑何时同步,何时备份,以及如何完美地实现它们。

    任何人都可以帮助我

1 个答案:

答案 0 :(得分:3)

对于#2,如果您使用GDAA上传文件,则可以传递允许您处理冲突的ExecutionOptions。这使您可以实现任意逻辑来解决上传冲突,例如:也许在你的情况下,它是合并来自两个设备的内容。但请注意,目前冲突检测只能用于更新现有文件,而不能用于创建新文件。

更多参考: https://developers.google.com/drive/android/completion#conflict https://developers.google.com/android/reference/com/google/android/gms/drive/ExecutionOptions.Builder.html#setConflictStrategy(int)

解决冲突的示例代码: https://github.com/googledrive/android-conflict