从品牌网站建设到网络营销策划,从策略到执行的一站式服务
最近写代码需要同步联系人,写了一个内容观察者监听联系人数据的变化.
信州网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
经测试发现要很精确的知道联系的增删改操作还是比较困难的.
因为联系人的内容提供者返回的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联系人在这方面做的确实很粗糙,如有更好的想法,请留言交流.共同提高.
相关代码见附录.代码写的比较粗糙.见谅.
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图