我想构建一个需要使用弱互联网连接或没有任何互联网连接的Android应用程序。
此应用程序的主要功能是将照片和其他重要信息等数据保存并发送到服务器。我的问题是关于在离线模式下实现这个系统,以及如何在处理弱互联网连接时在服务器和客户端之间建立有效的同步。
由于
答案 0 :(得分:0)
我希望这会有所帮助。可能不是最好的解决方案,但由于缺乏想法或解决方案(正如你所提到的),我带来了这个。
我在一个应用程序上有类似的东西。我通过webservices将数据发送到我的主数据库,所以我做的是创建了一个包含3个字段的表(SQLite):
1)ServiceFunction(文本)
2)ServiceParameters(文本)
3)已处理(Int,1或0,默认为0)
由于我的移动用户不需要知道记录是否已保存,因此在每次事件中我都会保存我需要调用的Web服务方法及其参数。有了这个我有一个队列,我有待发送到我的服务器(MySQL数据库,Web服务在C#)
我在后台运行一个每分钟左右运行的IntentService处理" queue"。我获取所有挂起的记录(Processed = 0),使用其参数执行webservice方法,如果检测到错误,我打破循环并记录问题,如果一切正常,我用1更新Processed字段。
这个逻辑工作没有问题,没有数据丢失或大约150个设备上的任何东西,我从简单记录发送到图像数据以存储在数据库中(我们不讨论在Db或FS上存储BLOB数据的做法)<登记/>
我希望这能让您大致了解需要在解决方案上实施的内容。