有效地将应用数据同步到Google云端硬盘中的App文件夹

时间:2015-11-20 12:33:40

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

我正在开发一个为用户存储商品的应用,用户可以选择与Google云端硬盘同步。每个项目由文本和图像组成。

我目前的方法是将每个项目的.json和.jpg文件保存在设备内部,然后从Drive API调用onConnected后,将这些文件上传到Google云端硬盘中用户的APP文件夹。与删除类似,我会创建一个标记为' foo'已删除,然后尝试查看文件' foo.jpg'和' foo.json'存在于Drive中,并相应地删除。

这对我来说现在很有用,但是由于googleApiClient错误我常常让应用程序崩溃,我意识到这不是一种有效的方法。所以我想知道你们中是否有人知道更有效的方法呢?

在理想世界中,我希望有这样的东西:我将每个项目的文件保存到设备内部,并且库会跟踪这些文件并相应地同步驱动器。

感谢您的建议!

1 个答案:

答案 0 :(得分:0)

基于您所指的“onConnected'和' googleApiClient',我认为您使用GDAA而不是REST Api

在处理GooDrive时,您应该重新考虑使用文件名的想法。它们在GooDrive中并不是唯一的,并且GDAA的延迟迟早会导致存在多个同名文件的问题,这些文件由无处不在的构造创建:

  if file.name not exist
    create file.name

使用APP文件夹的事实使得调试变得更加困难,因为您没有通过查看http://drive.google.com获得反馈。

您应该通过DriveId(如果仅使用单个Android设备)或ResourceId(如果您打算将ID发送/广播到其他设备/应用)来引用您的文件。如果您决定使用ResourceId,请确保处理由delayed GDAA's promotion对象引起的延迟问题。

这当然不能完全涵盖您的问题,但无论如何都无法正确回答。

祝你好运