如何从 Google 驱动器下载文件并从中恢复数据库

How to download file from Google Drive and restore db from it

使用 Google 提供的快速入门,我成功地将 SQLite 数据库的副本正确上传到我的 Google 驱动器。我现在唯一的问题是取回它并使用该文件进行恢复。

我读到 here 因为我已经上传了文件,所以我也应该可以访问它。到目前为止我可以理解,但是当阅读内容时我感到困惑。

我还是新手所以我几乎不能理解我在演示中看到的过程,到目前为止我能说的我现在能做的就是(我希望我真的在做,我只是跟着演示)找到它。所以现在我被困在如何取回它?任何人都可以伸出援手吗?

我最初的计划是将文件下载到我的 SD 上的指定文件夹中,然后从中恢复,因为我已经知道如何从 SD 进行备份和恢复。

您可以下拉 GDAA CRUD 包装器 from here。它使用最简单的 GDAA 调用形式,即 'await' 风格。只要将这些调用中的任何一个包装到 non-UI 个线程(Thread、AsyncTask)就应该没问题。
如果您决定采用这种方式(请参阅 GDAA class 如何与 MainActivity 通信 - 连接、授权),您基本上需要 3 个方法:

  1. search for your file using it's title, mime, or whatever criteria you have, resulting in a valid DriveId. You may also use the DriveId you obtained from previous upload
  2. read将文件内容放入byte[]缓冲区
  3. save 您的缓冲区到 android 设备上的数据库文件。

demo 显示上传/下载 JPEG 图像 to/from 驱动器(忽略 REST 分支,它仅用于测试)。您正在处理一个数据库文件,但最终它仍然是一个 buffer/stream 充满二进制数据的 uploaded/downloaded(带有一些元数据,如标题、mimetype 等)。

祝你好运