2

我正在构建一个类似于 Android 应用程序的 POS,即使数据连接暂时丢失,它也需要工作。

这个想法是在数据连接可用时立即向服务器报告所有事务。如果没有,请将其存储在本地 SQLite 中,并稍后在连接可用时同步。

第一个计划是将单个事务保存在与服务器上维护的相同的通用数据库结构中,但由于服务器上有许多不同类型的事务和关系,这将有效地从服务器上复制整个数据库结构电话本身。

另一种方法是仅保存用于通知服务器更改的最终 HTTP 请求。这种方法的优点是它只需要一个表,只存储 URL、请求内容、方法等。但是可能有一些调用需要在响应上执行代码,这将被实现为匿名内部类. 这种方法的唯一问题似乎是序列化这些匿名内部类,以便即使在(可能的)电话重启后也可以从数据库加载它们并执行它们。

实现这一点的最佳方法是什么?选项A还是选项B?如果选项 B,是否真的可以序列化和反序列化匿名内部类(在这里有效地用作闭包)?

4

1 回答 1

1

对于选项 A,您可能希望考虑 CouchDB 来处理设备/服务器复制。

Android 上的 Couchdb

于 2012-04-04T20:50:06.547 回答