大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最近写代码需要同步联系人,写了一个内容观察者监听联系人数据的变化.
创新互联建站服务项目包括和龙网站建设、和龙网站制作、和龙网页制作以及和龙网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,和龙网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到和龙省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!经测试发现要很精确的知道联系的增删改操作还是比较困难的.
因为联系人的内容提供者返回的uri永远都是ContactsContract.AUTHORITY_URI
想必很多童鞋都遇到了相同的问题,在网上搜索一番,发现有用的线索只有一个:rawContacts表的version会在联系人增删改操作后自加.
据此,我导出了系统联系人数据表View_RawContacts 和View_data表进行分析后认为可以用以下的思路完成联系人数据的同步:
1) 事先将上述两张表的内容一次性同步到本地数据表.
2) 当监听到联系人数据变动时,
1>确定新增操作:比对View_RawContacts._id
2>确定为删除操作:比对View_RawContacts.deleted=1
3>确定为更新操作View_RawContacts.deleted=0
3)比对上述属性用version来排序.version高的优先比对.
4)发现有上述操作后,执行同步操作.然后立即退出.
如此,可以比较高效的同步联系人数据.
android联系人在这方面做的确实很粗糙,如有更好的想法,请留言交流.共同提高.
相关代码见附录.代码写的比较粗糙.见谅.
附件:http://down.51cto.com/data/2364277另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。