Android 聯繫人數據庫鏈接關係分析

Android聯繫人數據庫分析

而從Android 2.0及API Level爲5開始新增了android.provider.ContactsContract來代替原來的方法數據庫查詢API。

    ContactsContract的子類ContactsContract.Contacts數據庫的是一張表,該數據庫位於/data/data/com.android.providers.contacts/databases/contacts2.db

使用SQLiteSpy.exe查看 如下圖

表結構樹

代表了所有聯繫人的統計信息。比如聯繫人ID(—ID),查詢鍵(LOOKUP_KEY),聯繫人的姓名(DISPLAY_NAME_PRIMARY),頭像的id(PHOTO_ID)以及羣組的id等等。

 

 

重要的幾張表和鏈接關係

如下圖

數據總表:

 

根據1的值 再查詢表


可以知道每一行數據代表的意思.

我要提到的是mimtype=11的值就表示聯繫人的分組信息

在表data中如下圖


到這裏你會發現 關於分組的信息後面的字段都爲空

根據列data1的值 我們可以在表groups

中找到分組信息


但是怎麼找這些分組中的聯繫人呢

在data1中有個raw_contact_id值對應下表

如下表中的主鍵ID



這樣就可以得到分組所在的聯繫人的名稱最後根據這個表中的contact_id查詢data表獲取手機號碼等其他信息


值得注意的是raw_contacts中的short_key將聯繫人的中文轉化成拼音了,字母排序可以通過查這個.之前我是查編碼表..這樣看來android的API越來越完善了

                                                                                                                         GL

                                                                                                                         2012-3-20           End  

注.裏面的"脫衣舞"聯繫人是哪個流氓軟件添加進去的??誰能告訴我?

發佈了25 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章