示例项目在Android中以编程方式备份​​Google Drive上的Sqlite文件和照片

Ant*_*ion 13 sqlite android google-drive-api google-drive-android-api

我正在编写一个具有即时消息功能的应用程序.用户可以在IM功能中写入文本或共享图像.当图像存储在设备中时,图像文本数据和文件名存储在sqlite文件中.

由于我的服务器不会保留数据,因此当用户切换到新设备时,用户将无法获得聊天记录.通过参考whatsapp,他们允许用户定期将聊天记录和图像备份到Google云端硬盘,并从驱动器中获取数据,如下图所示.

在此输入图像描述 当我去我自己的谷歌驱动器时,我会发现"Whatsapp"已连接到我的谷歌驱动器,如下所示.

在此输入图像描述 我不熟悉Android中的Google Drive API,我想以与Whatsapp相同的方式备份我的sqlite数据库和图像.我知道有关sqlite数据库备份到Google云端硬盘的问题很少,但它似乎只包含部分代码,这使初学者很难理解.

是否会在github上有任何示例项目,有关stackoverflow或教程的问题,这将使我能够学习如何在Android中逐步以编程方式备份​​sqlite数据库和图像

此外,我很惊讶地看到只有whatsapp连接到我的Google云端硬盘,但没有更多其他应用,所以我不知道第三方开发者是否会拥有与Google云端硬盘相同的访问权限并以与WhatsApp的.

Rey*_*cia 4

这当然是可行的。您需要了解如何将文件上传到 Google 云端硬盘

github 上是否有任何示例项目、stackoverflow 上的问题或教程可以让我逐步学习如何在 Android 中以编程方式备份​​ sqlite 数据库和图像?

有几个示例,例如:

对于上传图像,请注意,您将使用图像 mimetype,例如对于 .png 文件使用 image/png,对于 .jpg 文件使用 image/jpeg。为了将 sql 数据库上传到云端硬盘,以下是此示例的一个片段。

 String mimeType = MimeTypeMap.getSingleton().getExtensionFromMimeType("db");
        MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
                .setTitle(GOOGLE_DRIVE_FILE_NAME) // Google Drive File name
                .setMimeType(mimeType)
                .setStarred(true).build();
        // create a file on root folder
        Drive.DriveApi.getRootFolder(api)
                .createFile(api, changeSet, result.getDriveContents())
                .setResultCallback(backupFileCallback);
Run Code Online (Sandbox Code Playgroud)