【发布时间】:2014-12-13 13:47:57
【问题描述】:
大家下午好。
我有一个非常简单的笔记应用程序,我想做简单的事情 - 根据用户的需求,应用程序应该将其“notes_db”文件与云中的版本同步
(在第一阶段,我想同步整个“notes_db”文件,为简化起见)。
由于我还不够熟练,无法使用其 API 编写自己的网络服务器,因此决定使用 DropBox Sync API 来实现我的目的。
此刻,我已经在我的应用中成功实现了用户授权。
我想,我会指出“notes_db”文件并说“同步这个文件!”同步 API - 此文件将同步到云端。
但现在对我来说并不那么容易:-(。
我的第一个问题是 - 我是否理解正确,我无法通过 DropBox Sync API 同步我想要同步的特定文件(在我的情况下,这是位于“/databases/notes_db”的文件)?
第二个问题 - 在这种情况下应该是什么同步机制?
我的猜测是我应该下一步
(我想我会有 3 个版本的“notes_db”文件 - 本地(我的应用程序将在其中进行更改)、本地缓存和云版本):
1) 在 DropBox 文件系统中创建空文件“notes_db”(如果我理解正确,它将创建本地缓存和云版本)或尝试打开它(如果存在);
2) 将本地版本的内容转移到刚刚创建的本地缓存版本;
3) 调用一些方法(哪个?)将更改从本地缓存同步到云版本。
然后,在下一次同步调用中:
1) 比较文件 - 云、本地缓存和本地版本;
2) 如果本地版本是最新版本 - 将其内容传输到本地缓存版本并开始同步;
3) 如果云版本是最新的 - 将其放入本地缓存并将其内容传输到本地文件版本。
另外 - 创建 DropBox 文件系统后,我应该调用哪些方法? hasSynced()、listFolder()、awaitFirstSync()、syncNowAndWait()、getSyncStatus()?
老实说,我现在完全糊涂了。
或者可能有更简单的方法来解决我的问题 - 无论是通过 DropBox Sync API 还是其他方式?
如果有人可以提供有用的教程或工作示例来同步一个文件 - 我将非常感激。
感谢您的帮助!
这个问题现在对我来说真的很重要。
【问题讨论】:
标签: android synchronization dropbox sync