Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 离线同步Android应用程序的通用体系结构_Java_Android_Serialization_Anonymous Inner Class - Fatal编程技术网

Java 离线同步Android应用程序的通用体系结构

Java 离线同步Android应用程序的通用体系结构,java,android,serialization,anonymous-inner-class,Java,Android,Serialization,Anonymous Inner Class,我正在构建一个类似POS的Android应用程序,即使数据连接暂时中断,它也需要工作 其想法是,如果数据连接可用,立即向服务器报告所有事务。如果没有,则将其本地存储在SQLite中,并在连接可用时进行同步 第一个计划是将单个事务保存在与服务器上维护的相同的通用数据库结构中,但由于服务器上存在如此多不同类型的事务和关系,这将有效地从手机上的服务器复制整个数据库结构 另一种方法是只保存用于通知服务器更改的最终HTTP请求。这种方法的优点是,它只需要一个表,就可以存储URL、请求内容、方法等。但也可能

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

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

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

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


实现这一点的最佳方式是什么?选择A还是选择B?如果选项B,真的有可能序列化和不序列化匿名内部类(它被有效地用作闭包)?< /p> 选项A,您可能希望考虑CouCHDB来处理设备/服务器复制。