专栏名称: 郭霖
Android技术分享平台,每天都有优质技术文章推送。你还可以向公众号投稿,将自己总结的技术心得分享给大家。
目录
相关文章推荐
复利大王  ·  哥大美女网红被骗P的瓜 ·  昨天  
复利大王  ·  娇妻版毛晓彤 ·  昨天  
复利大王  ·  江浙沪美女留子回国下嫁怀孕后悔 ·  2 天前  
复利大王  ·  老同学中捞一捞能不能找到免费P友 ·  3 天前  
复利大王  ·  不讲武德!中x银行? ·  3 天前  
51好读  ›  专栏  ›  郭霖

Android通讯录实时监听的设计实现

郭霖  · 公众号  · android  · 2017-04-13 08:00

正文

请到「今天看啥」查看全文


李政 的博客地址:

http://blog.csdn.net/lz8362

前言

大家在使用微信的过程中,可以发现微信的通讯录可以和手机通讯录保持一致的增删变化,这点特性属于应用的易用性范畴,今天就来讲讲如何实现该功能。

通讯录涉及到的表统一集中在contacts2.db中。其路径如下:

/data/data/com.android.providers.contacts/databases/contacts2.db

统一由 ContactsContract类 进行管理,我们经常调用的 Phone、Contacts、RawContacts 都是 ContactsContract 的子类,常见的读取操作一共涉及到三张表,数据路径为:

三者关系如下:

contacts表 中每一行是一个联系人,每个联系人对应着一个唯一的_id,每个联系人对应着raw_contacts表中一行或多行数据,通过 contact_id 确定对应关系。

raw_contacts表 张每一行是某个联系人的联系信息,当有联系信息发生改变时,会修改其 version 字段。raw_contacts表 会通过把_id写入到 data表 的 raw_contact_id 字段中的方式,对应指定的详细信息,raw_contacts表 的每一行对应一行或多行data表中数据。







请到「今天看啥」查看全文