首先,这不是任何一个问题的重复,其中 一些 讨论 使用单个Dropbox账户作为多用户应用程序的后端。
我已经构建了一些应用程序,主要是在Windows Phone和Windows Store上,并且还有更多的计划。
我经常发现自己希望将数据同步到这些应用程序中,在设备之间但是对于同一用户。我的应用程序通常是免费或非常便宜的,我负担不起为数据库托管服务器支付费用。我确实拥有一个付费托管帐户,其中包含一些有限的DB空间可以使用,但是如果我的某个应用程序成为热门应用(可能性不大),我突然面临着巨额的托管费用。在那种情况下,我必须突然开始向以前免费的应用程序用户收取重复的金额,或者更糟糕的是,已经支付过的金额。
我一直想到使用OneDrive、Dropbox或其他免费云托管作为数据库的想法。以下是我如何看待它的工作方式。
PS:我也考虑过用本地副本覆盖存储的SQLite文件,但我认为这对移动设备来说是太多的数据开销。
更新:
我接受了下面Peter Nied的答案,他指出了我可能遇到的问题,回答了我的问题。然而,Smarx在评论中指出Dropbox有一个免费的数据存储API可以用于我的应用程序。这似乎比在文件系统上实现自己的数据存储要好得多,所以我选择使用它。
更新2:
数据存储API在我更新帖子后仅三个月就已被弃用,因此不再可用。幸运的是,在那时我还没有开始对其进行开发。您可以很容易地将Dropbox用作标准的平面文件存储,但如果要进行任何类型的同步,则必须自行处理。
更新3: 2021年6月 我构建了类似于“Jobbie”的东西供个人使用,但最终我使用Dropbox API将数据存储在文本文件中,类似于Todo.TXT的工作方式。
我的Android移动应用程序(VueJs / Cordova)将我的内容更改同步到Dropbox,然后在任何笔记本电脑上,我都可以使用任何文本编辑器打开txt文件并进行更改(如果需要的话)。这对于我的使用情况非常有效。
有一两次,我在启用自动保存的编辑器中打开了文本文件(Mac上的某些Markdown编辑器),当最新版本被旧副本覆盖时,我丢失了数据,但是使用Dropbox修订历史记录很容易恢复数据。
如果您正在构建轻量级应用程序并需要在便宜的设备之间同步简单数据,则此方法适用。
我已经构建了一些应用程序,主要是在Windows Phone和Windows Store上,并且还有更多的计划。
我经常发现自己希望将数据同步到这些应用程序中,在设备之间但是对于同一用户。我的应用程序通常是免费或非常便宜的,我负担不起为数据库托管服务器支付费用。我确实拥有一个付费托管帐户,其中包含一些有限的DB空间可以使用,但是如果我的某个应用程序成为热门应用(可能性不大),我突然面临着巨额的托管费用。在那种情况下,我必须突然开始向以前免费的应用程序用户收取重复的金额,或者更糟糕的是,已经支付过的金额。
我一直想到使用OneDrive、Dropbox或其他免费云托管作为数据库的想法。以下是我如何看待它的工作方式。
假设我们有一个名为Jobbie的待办事项应用程序
- 用户在两台设备上安装Jobbie
- 用户在两台设备上登录OneDrive,在其OneDrive文件夹中创建一个"jobbie"同步文件夹
- 在设备A上,用户创建一个新的待办事项"取回干洗物"
- 设备A上传一个名为"20153001-pick_up_dry_cleaning.item"的文本文件到OneDrive。
- 设备B扫描文件夹,找到一个新文件,并将其添加到本地数据库中
- 在设备B上,用户将"取回干洗物"标记为"已完成",文件将被重命名为"x20153001-pick_up_dry_cleaning.item"(或删除)
- 设备A扫描文件夹,看到该项目已被重命名(或删除),并从本地数据库中删除它
我认为这种方法显然存在以下问题:
- 每个条目的字符限制为255-9个字符(9个为xYYYYMMDD保留),除非您想下载每个文件,否则速度会很慢
- 没有锁定机制
PS:我也考虑过用本地副本覆盖存储的SQLite文件,但我认为这对移动设备来说是太多的数据开销。
更新:
我接受了下面Peter Nied的答案,他指出了我可能遇到的问题,回答了我的问题。然而,Smarx在评论中指出Dropbox有一个免费的数据存储API可以用于我的应用程序。这似乎比在文件系统上实现自己的数据存储要好得多,所以我选择使用它。
更新2:
数据存储API在我更新帖子后仅三个月就已被弃用,因此不再可用。幸运的是,在那时我还没有开始对其进行开发。您可以很容易地将Dropbox用作标准的平面文件存储,但如果要进行任何类型的同步,则必须自行处理。
更新3: 2021年6月 我构建了类似于“Jobbie”的东西供个人使用,但最终我使用Dropbox API将数据存储在文本文件中,类似于Todo.TXT的工作方式。
我的Android移动应用程序(VueJs / Cordova)将我的内容更改同步到Dropbox,然后在任何笔记本电脑上,我都可以使用任何文本编辑器打开txt文件并进行更改(如果需要的话)。这对于我的使用情况非常有效。
有一两次,我在启用自动保存的编辑器中打开了文本文件(Mac上的某些Markdown编辑器),当最新版本被旧副本覆盖时,我丢失了数据,但是使用Dropbox修订历史记录很容易恢复数据。
如果您正在构建轻量级应用程序并需要在便宜的设备之间同步简单数据,则此方法适用。