我们正在开发一个原生的Android应用程序(iOS和网络可供用户),用户可以在其中协作创建相册。
当设备无法与服务器连接时,我们希望尽可能无缝体验。 这个Hoodie blog中提到过的东西,但是Hoodie现在正用于Web和iOS,我们现在正在寻找Android。
问题
在客户端维护相册,朋友,图片(URL /本地,而非Bitmap)的数据。 能够在以后将脱机创建/更新操作同步到服务器,并解决冲突。
当前研究
自定义
在服务器上的Android和MySQL上维护SQLite中的数据 使用Android Sync Adapter进行同步。 但是,这可能非常耗时并且在启动时会出现错误。
如何处理这个问题?
答案 0 :(得分:9)
我目前正在开展一个项目,即使用户离线,我们也需要跟踪交付情况并验证交付情况。我使用的方法是使用这个ContentProvider插件Simple Content Provider。我检查是否有互联网,如果没有。它将数据存储到提供程序并更改数据库中需要更改的内容,并让我的用户相信他或她已完成订单。而且我已经SyncAdapter等待互联网出现了。而且,一旦数据库发生变化,我也会提供推送服务来刷新数据库。了解Google Cloud Messaging可以为您的用户节省大量电池寿命。那里可能有更好的选择。但是,根据我对 Android 的小经验,这是我的小帮助。
答案 1 :(得分:2)
你看过CouchBase Server和CouchBase Lite吗?
它们为您提供了一个强大的工具,称为SyncGateway,它可以帮助您完成所有同步和服务器与内部数据库之间数据的合并。您无需在移动应用中对任何内容进行编码以进行同步。
Couchbase Lite可用于iOS和Android。 Cordova / PhoneGap还有一个plugin。
我编译它从来没有遇到任何问题,只是为了iOS而不记得为iOS6 +编译,它不能用于iOS5
答案 2 :(得分:0)
您可以查看名为Wendy的开源api,最令人惊讶的是它使用了您现有的体系结构。