Android中聯繫人數據結構及邏輯

Android 2.1中的聯繫人主要存儲在四個table中:
accounts存儲已經登陸的賬號以及賬號類型。
raw_contacts存儲聯繫人的ID,以及屬於哪個賬號和賬號類型。
groups存儲組的ID,以及屬於哪個賬號和賬號類型。
data存儲聯繫人的所有信息,包括名字,屬於哪個組,電話,等等。每一條信息爲一條單獨記錄。

另外contacts組是raw_contacts數據在Contacts應用中的映射。Contacts應用會把重名的聯繫人合併,並且存放在contacts表中,而raw_contacts同google account的數據是一致的。

如果在sign in account之前,已經在本地數據庫中加入了聯繫人,即raw_contacts table中有數據,則:
1. 如果該contact不屬於任何組,則同步後被加入到account的My Contacts組中。
2. 如果該contact屬於某個組,而該組不屬於任何account,則同步後該組會被加入到account中,而該組中的聯繫人數據會丟失。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章