您的位置:首页 > 移动开发 > Android开发

Android 客户端数据和服务器端的同步

2014-06-06 09:29 288 查看
今天研究的主题是:客户端的数据刷新,如何实现和客户端数据库的数据的同步,需要保证以下几点:

1.客户端的数据存储在客户端本地,如果服务器端数据没有更新,不做无效刷新

 转自知乎上卢旭辉的回答:{

这个问题分为两部分,一个是客户端数据有变化了就上传,这个好说;第二个是服务器端有变化了,客户端要能知晓并从服务器端拉取到数据。这个有几种解决方法:

方法1:定期从服务器上轮询和上传,缺点是不实时,不优美。
方法2:服务器通过发送短信告诉客户端数据变化,客户端再去拉取。缺点是费钱,客户端在国外时貌似也不实时。
方法3:服务器和客户端建立Socket并保持心跳,优点是实时,缺点是耗电。
方法4:使用google的C2DM的Push服务,这是方法3的升级版,很不错,但缺点是每个手机上都需要一个google帐号,才能使用该服务。}

因此本应用的资料等文本类型决定采用:每天更新一次数据,然后提供给用户强制刷新数据的功能。

{另外同步的问题也要根据我们的实际需求来做,例如:

1、同步时间:首先要考虑需求,是不是一定要实时数据,如果数据不要求实时允许有延迟:客户端添加同步点,例如每次请求数据的时候都会附带请求是否有需要同步的数据,软件每次打开时同步一次,每次登陆时同步一次,再加上手动同步,基本满足需求。
2、同步内容:如果客户端当前用户可以唯一标识(比如需要登录),应该把数据比对放到服务端,也就是客户端现在有哪些数据服务端应该是知道的,通过时间戳和同步表(记录哪个表增删改查了哪条数据)来双向同步。有一个原则,能在服务端做的事就不要放客户端。
3、同步方式:我们用的是hessian(http、二进制),效率还行,也可以直接走json,需要实测网速以及同步数据块大小来决定采取哪种方式。
本文地址:http://bbs.it-home.org/thread-2006-1-1.html
内容来源:程序员之家(http://bbs.it-home.org/)}

本应用的用户自己的照片墙部分如何刷新?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐