下面的思路,本来是要做项目的,
但是后面给推掉了。所以没有实践,
如果有不对的地方,请原谅。还望多多指点。。。谢谢。
最近在做一个项目。
我们的同一条数据,本地(android)和服务器都有保存。
这就产生了一个问题,如何判断本地(服务器)的数据是正确的,也就是如何防止脏数据的存在。
思路:模仿svn的版本控制。
判断本地版本和服务版本是否一致,
如果一致就不进行任何操作,如果不一致,就认定高版本的数据为正确的数据,修改低版本的数据。
下面举例。
如对一个用户(user)操作
user
字段有
String id //整个系统(本地和服务器)都是唯一的,并且同一个用户都是同一的。 专业说法:UUID
String name
。。。。。。其他字段省略
String version //用时间(毫秒数)作为版本号
增加流程
1.提交用户所填写的数据到服务器【不包括id和Version】
2.服务器处理成功后,返回id和version
3.本地增加记录
修改流程
1.用户提交修改的数据字段【本地修改的永远比服务器的新】
2.服务器处理成功后,返回version
3.本地修改记录
删除流程
1.直接提交要删除的数据的id
2.服务器返回处理结果。
3.成功就删除本地数据
查询流程
1.把本地的id(多个)发送到服务器上。服务器匹配数据库,发挥一个多个数据集合的总集合(包含 增加的/删除的【只要id】/修改的)
2. 解析服务器的返回值,多线程操作。一边显示给用户,一边更新数据库。