同步SQLite数据库和Dropbox数据存储区

时间:2014-04-07 13:46:37

标签: android database architecture dropbox datastore

我为Android开发了记事本应用程序。 App将其数据存储在SQLite数据库中。我想使用Dropbox datastore API为应用数据实现可选的备份/同步。如果用户已关联其Dropbox帐户应用,则应将数据存储在Dropbox云中,并在所有用户的设备之间同步。

我的解决方案最初将所有应用数据存储在数据库中。当用户链接他的Dropbox帐户时,应用程序会将所有数据移动到数据存储区。之后该应用程序将与数据存储区一起使用(因为它支持脱机缓存并在后台执行同步)。如果用户决定取消他的Dropbox帐户与应用程序的链接,他的所有数据都将被移回设备上的本地SQLite数据库。我想创建app数据存储的接口,并有两个实现:SQLite数据库和Dropbox数据存储。因此,其他应用程序组件将不依赖于存储实现。当然,所有这些对用户来说都是完全透明的。

这是一个好方法吗?你能建议更好的方法吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

仅供参考,数据存储API 3.0测试版包含一个名为“本地数据存储”的预览功能,可以避免对此的需求。请参阅此处发布预览功能的博客文章:https://www.dropbox.com/developers/blog/97/sync-api-and-datastore-api-30-beta-release

答案 1 :(得分:1)

最后我实现了这一点。可以找到来源here。关键类是implementation of Dropbox storage。应用程序使用存储接口,并适用于两种实现(数据库和Dropbox数据存储)。两种实现都缓存频繁查询的结果。我唯一关心的是表现。我还没有测试和比较这些实现的数据查询和存储内容修改调用的性能。但我会说应用程序运行顺利,我没有注意到任何滞后。