android手機內的通訊錄數據庫


今天看了一下 android手機內的通訊錄數據庫,簡單的匯總了一下。

數據庫見附件中的contacts2.db , 里面一共有40個表,34個視圖,很龐大,挑幾個重點的看一下。

1.表Raw_contacts

假定設備上有2個賬戶:

· Neroseagate3@gmail.com

· Neroseagate@gmail.com

這兩個賬戶里面都有 聯系人“GG”,導出的數據如下

clip_image002

clip_image004

注意頭兩列,第一列將會和下面的表關聯,第二列關聯Account

clip_image006

第一個 [酷派客服熱線]是手機自帶的。

中間兩條是同步下來的。

最后一個是從手機上添加的。

這個表的作用 就是存儲原生數據以及同步的配置項。

clip_image008

2.Data 表

詳細的數據存放在data中,用主鍵關聯raw_Data。

注意 raw_contact_id 是用來關聯上一個表的, mimeType_id 是指不同的數據類型,data1-data15是用來存儲數據的

_id

package_id

mimetype_id

raw_contact_id

is_read_only

is_primary

is_super_primary

data_version

data1

data2

data3

data4

data5

data6

data7

data8

data9

data10

data11

data12

data13

data14

data15

data_sync1

23

 

7

5

0

0

0

0

                             

https://www.google.com/m8/feeds/photos/media/neroseagate3%40gmail.com/1a6e03a18abfdb19

24

 

6

5

0

0

0

1

GG

GG

             

1

3

         

25

 

11

5

0

0

0

1

                               

26

 

10

5

0

0

0

1

                               

27

 

15

5

0

0

0

1

             

4

5

             

29

 

8

5

0

0

0

1

5

                             

30

 

5

5

0

0

0

1

13372576188

2

 

8.6134E+12

                       

31

 

16

5

0

0

0

1

www.cnblogs.com

3

                           

32

 

17

5

0

0

0

0

1972/12/18

3

                           

33

 

2

5

0

1

0

1

home@1.com

1

                           

34

 

8

5

0

0

0

0

6

                             

35

 

4

5

0

0

0

0

江西,中囿

1

         

江西_

 

中國

           

MimeType 的值如下:

_id

mimetype

1

vnd.android.cursor.item/cpother

2

vnd.android.cursor.item/email_v2

3

vnd.android.cursor.item/im

4

vnd.android.cursor.item/postal-address_v2

5

vnd.android.cursor.item/phone_v2

6

vnd.android.cursor.item/name

7

vnd.android.cursor.item/photo

8

vnd.android.cursor.item/group_membership

9

vnd.android.cursor.item/organization

10

vnd.android.cursor.item/nickname

11

vnd.android.cursor.item/note

12

vnd.android.cursor.item/sns

13

vnd.android.cursor.item/sip_address

14

vnd.android.cursor.item/identity

15

vnd.com.google.cursor.item/contact_misc

16

vnd.android.cursor.item/website

17

vnd.android.cursor.item/contact_event

另外data1-data15 有不同的用途

名字:

Uri: Uri.parse("content://com.android.contacts/data")

PREFIX = "data4"; //名稱前綴
MID_NAME = "data5";//中間名
GIVEN_NAME = "data2";//名字
FAMILY_NAME = "data3";//姓氏
MID_PINYIN="data8"; //中間名拼音
String FAMILY_NAME_PINYIN="data9"; //姓氏拼音
String SUFIX = "data6"; //名稱后綴
String SUFIX_PINYIN="data7"; //名字拼音

電話:

Uri: Uri.parse("content://com.android.contacts/data/phones"

phone: "data1";//號碼

Type: "data2";//這個字段是整形值,指示電話類型

類型對應關系如下:

TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_MOBILE = 2;
TYPE_WORK = 3;
TYPE_FAX_WORK = 4;
TYPE_FAX_HOME = 5;
TYPE_PAGER = 6;
TYPE_OTHER = 7;

Email

Uri:Uri.parse("content://com.android.contacts/data/emails")

Email: "data1";//郵箱地址

Type: "data2";//這個字段是整形值,指示Email類型

類型對應關系如下:

TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;
TYPE_MOBILE = 4;

地址:

Uri:Uri.parse("content://com.android.contacts/data/postals")

STREET="data4";//街道
CITY="data8";//城市
STATE="data7";//州
ZIP_CODE="data9";//郵政編碼

Type:"data2";//type的類型如下

TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;

clip_image010

3.表Contacts

這張表,按照google的意思,合並raw_contacts里面的同名聯系人,如下圖所示,

clip_image012

可是,我看到的並不是這樣子, 對比第一個表,貌似沒有合並,只是一個簡單的匯總信息表。

_id

name_raw_contact_id

default_tel

single_is_secret

photo_index

send_to_voicemail_vt

send_to_voicemail_sip

indicate_phone_or_sim_contact

index_in_sim

filter

is_sdn_contact

1

1

76923075280

0

5

0

0

-1

-1

0

0

3

5

13372576188

0

4

0

0

-1

-1

0

0

6

6

15906879563

0

7

0

0

-1

-1

0

0

7

7

133

0

6

0

0

-1

-1

0

0

參考資料

http://developer.android.com/guide/topics/providers/contacts-provider.html

http://blog.csdn.net/xys289187120/article/details/6730957

http://www.cnblogs.com/lw900320/archive/2013/01/10/2855145.html

附件( http://files.cnblogs.com/xiaokang088/db.zip)是 從手機里面提取出來的數據庫和 轉化的excel。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM