`
zengyan2012
  • 浏览: 409835 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android 通讯录数据表

 
阅读更多

 

Pragma foreign_keys=false;

Begin Transaction;

CREATE TABLE android_metadata (locale TEXT);

Insert  Into [android_metadata] ([locale]) Values("en_US");

CREATE TABLE calls (    --通话记录

_id INTEGER PRIMARY KEY AUTOINCREMENT,

number TEXT,

date INTEGER,

duration INTEGER,

type INTEGER,

new INTEGER,

name TEXT,

numbertype INTEGER,

numberlabel TEXT

);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("1","15555212225","1103588015","7","2","1",NULL,"0",NULL);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("2","12222","1103678243","506","2","1",NULL,"0",NULL);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("3","15555214556","1104838023","8","2","1",NULL,"0",NULL);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("4","147","1104881010","69","2","1","Erhh","2",NULL);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("5","122555","1246080846","1","2","1","Ety","2",NULL);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("6","5554","1265327046","0","1","1",NULL,"0",NULL);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("7","075512345678","1265370030","0","3","1","Erhh","1",NULL);

Insert  Into [calls] ([_id],[number],[date],[duration],[type],[new],[name],[numbertype],[numberlabel]) Values("8","13873870772","1265394655","50","1","1","Erhh","3",NULL);

CREATE TABLE groups (     --组

_id INTEGER PRIMARY KEY AUTOINCREMENT,

_sync_account TEXT,

_sync_id TEXT,

_sync_time TEXT,

_sync_version TEXT,

_sync_local_id INTEGER,

_sync_dirty INTEGER NOT NULL DEFAULT 0,

_sync_mark INTEGER,

name TEXT NOT NULL,

notes TEXT,

should_sync INTEGER NOT NULL DEFAULT 0,

system_id TEXT,

UNIQUE(name,system_id,_sync_account)

);

Insert  Into [groups] ([_id],[_sync_account],[_sync_id],[_sync_time],[_sync_version],[_sync_local_id],[_sync_dirty],[_sync_mark],[name],[notes],[should_sync],[system_id]) Values("1",NULL,NULL,NULL,NULL,NULL,"0",NULL,"Contacts",NULL,"0","Contacts");

CREATE TABLE settings (_id INTEGER PRIMARY KEY,_sync_account TEXT,key STRING NOT NULL,value STRING );

CREATE TABLE voice_dialer_timestamp (_id INTEGER PRIMARY KEY,timestamp INTEGER);

Insert  Into [voice_dialer_timestamp] ([_id],[timestamp]) Values("1","1311230526");

CREATE TABLE _deleted_groups (_sync_version TEXT,_sync_id TEXT,_sync_account TEXT,_sync_mark INTEGER);

CREATE TABLE _deleted_people (_sync_version TEXT,_sync_id TEXT,_sync_account TEXT,_sync_mark INTEGER);

CREATE TABLE _sync_state (_id INTEGER PRIMARY KEY,_sync_account TEXT,data TEXT,UNIQUE(_sync_account));

CREATE TABLE _sync_state_metadata (version INTEGER);

Insert  Into [_sync_state_metadata] ([version]) Values("2");

CREATE TABLE contact_methods (

_id INTEGER PRIMARY KEY AUTOINCREMENT,

person INTEGER REFERENCES people(_id),

kind INTEGER NOT NULL,

data TEXT,aux_data TEXT,

type INTEGER NOT NULL,

label TEXT,

isprimary INTEGER NOT NULL DEFAULT 0

);

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("1","1","1","work@email.cm ",NULL,"2",NULL,"1");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("2","1","1","other1@email.com",NULL,"3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("3","1","1","home@email.com",NULL,"1",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("4","1","1","other@email.com",NULL,"3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("5","1","3","google chat address","pre:5","3",NULL,"1");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("6","1","3","aim chat address","pre:0","3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("7","1","3","windows chart address","pre:1","3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("8","1","3","yahoo chart address","pre:2","3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("9","1","3","jabber chart address","pre:7","3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("10","1","3","jabber2 chart address","pre:7","3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("11","1","3","jabber3 chart address","pre:7","3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("12","1","2","Home Postal",NULL,"1",NULL,"1");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("13","1","2","Work Postal",NULL,"2",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("14","1","2","Other Postal",NULL,"3",NULL,"0");

Insert  Into [contact_methods] ([_id],[person],[kind],[data],[aux_data],[type],[label],[isprimary]) Values("15","1","2","Other Postal",NULL,"3",NULL,"0");

CREATE TABLE extensions (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,value TEXT NOT NULL,person INTEGER REFERENCES people(_id),UNIQUE(person, name));

CREATE TABLE groupmembership (

_id INTEGER PRIMARY KEY,

person INTEGER REFERENCES people(_id),

group_id INTEGER REFERENCES groups(_id),

group_sync_account STRING,

group_sync_id STRING

);

Insert  Into [groupmembership] ([_id],[person],[group_id],[group_sync_account],[group_sync_id]) Values("1","1","1",NULL,NULL);

Insert  Into [groupmembership] ([_id],[person],[group_id],[group_sync_account],[group_sync_id]) Values("2","2","1",NULL,NULL);

CREATE TABLE organizations (

_id INTEGER PRIMARY KEY AUTOINCREMENT,

company TEXT,

title TEXT,

isprimary INTEGER NOT NULL DEFAULT 0,

type INTEGER NOT NULL,label TEXT,

person INTEGER REFERENCES people(_id)

);

Insert  Into [organizations] ([_id],[company],[title],[isprimary],[type],[label],[person]) Values("1","Organizations Work Compny",NULL,"1","1",NULL,"1");

Insert  Into [organizations] ([_id],[company],[title],[isprimary],[type],[label],[person]) Values("2","Organizations Other Company",NULL,"0","2",NULL,"1");

CREATE TABLE people (

_id INTEGER PRIMARY KEY AUTOINCREMENT,

_sync_account TEXT,

_sync_id TEXT,

_sync_time TEXT,

_sync_version TEXT,

_sync_local_id INTEGER,

_sync_dirty INTEGER NOT NULL DEFAULT 0,

_sync_mark INTEGER,

name TEXT COLLATE LOCALIZED,

notes TEXT COLLATE LOCALIZED,

times_contacted INTEGER NOT NULL DEFAULT 0,

last_time_contacted INTEGER,

starred INTEGER NOT NULL DEFAULT 0,

primary_phone INTEGER REFERENCES phones(_id),

primary_organization INTEGER REFERENCES organizations(_id),

primary_email INTEGER REFERENCES contact_methods(_id),

photo_version TEXT,

custom_ringtone TEXT,

send_to_voicemail INTEGER,

phonetic_name TEXT COLLATE LOCALIZED);

Insert  Into [people] ([_id],[_sync_account],[_sync_id],[_sync_time],[_sync_version],[_sync_local_id],[_sync_dirty],[_sync_mark],[name],[notes],[times_contacted],[last_time_contacted],[starred],[primary_phone],[primary_organization],[primary_email],[photo_version],[custom_ringtone],[send_to_voicemail],[phonetic_name]) Values("1",NULL,NULL,NULL,NULL,NULL,"1",NULL,"Erhh","Notes2","2","1265455570","0","3","1","1",NULL,NULL,"0",NULL);

Insert  Into [people] ([_id],[_sync_account],[_sync_id],[_sync_time],[_sync_version],[_sync_local_id],[_sync_dirty],[_sync_mark],[name],[notes],[times_contacted],[last_time_contacted],[starred],[primary_phone],[primary_organization],[primary_email],[photo_version],[custom_ringtone],[send_to_voicemail],[phonetic_name]) Values("2",NULL,NULL,NULL,NULL,NULL,"1",NULL,"Ety",NULL,"0",NULL,"0","2",NULL,NULL,NULL,NULL,"0",NULL);

CREATE TABLE peopleLookup (

token TEXT,

source INTEGER REFERENCES people(_id),

token_index INTEGER);

Insert  Into [peopleLookup] ([token],[source],[token_index]) Values("314b3737","1","0");

Insert  Into [peopleLookup] ([token],[source],[token_index]) Values("314f59","2","0");

CREATE TABLE peopleLookupWithPhoneticName (

token TEXT,

source INTEGER REFERENCES people(_id),

token_index INTEGER);

Insert  Into [peopleLookupWithPhoneticName] ([token],[source],[token_index]) Values("314b3737","1","0");

Insert  Into [peopleLookupWithPhoneticName] ([token],[source],[token_index]) Values("314f59","2","0");

CREATE TABLE phones (

_id INTEGER PRIMARY KEY AUTOINCREMENT,

person INTEGER REFERENCES people(_id),

type INTEGER NOT NULL,

number TEXT,

number_key TEXT,

label TEXT,

isprimary INTEGER NOT NULL DEFAULT 0);

Insert  Into [phones] ([_id],[person],[type],[number],[number_key],[label],[isprimary]) 

         Values("2","2","2","122555","555221",NULL,"1");

Insert  Into [phones] ([_id],[person],[type],[number],[number_key],[label],[isprimary]) 

         Values("3","1","1","075-512-345678","876543215570",NULL,"1");

Insert  Into [phones] ([_id],[person],[type],[number],[number_key],[label],[isprimary]) Values("4","1","3","1-387-387-0772","27707837831",NULL,"0");

Insert  Into [phones] ([_id],[person],[type],[number],[number_key],[label],[isprimary]) Values("5","1","2","1-397-387-0772","27707837931",NULL,"0");

Insert  Into [phones] ([_id],[person],[type],[number],[number_key],[label],[isprimary]) Values("6","1","7","1-401-234-56","654321041",NULL,"0");

Insert  Into [phones] ([_id],[person],[type],[number],[number_key],[label],[isprimary]) Values("7","1","7","1-411-234-5678","87654321141",NULL,"0");

Insert  Into [phones] ([_id],[person],[type],[number],[number_key],[label],[isprimary]) Values("8","1","7","1-421-234-567","7654321241",NULL,"0");

CREATE TABLE photos       --图片照片

(

_id INTEGER PRIMARY KEY AUTOINCREMENT,

exists_on_server INTEGER NOT NULL DEFAULT 0,

person INTEGER REFERENCES people(_id), 

local_version TEXT,

data BLOB,sync_error TEXT,

_sync_account TEXT,

_sync_id TEXT,_sync_time TEXT,

_sync_version TEXT,

_sync_local_id INTEGER,

_sync_dirty INTEGER NOT NULL DEFAULT 0,

_sync_mark INTEGER,UNIQUE(person) 

);

Insert  Into [photos] ([_id],[exists_on_server],[person],[local_version],[data],[sync_error],[_sync_account],[_sync_id],[_sync_time],[_sync_version],[_sync_local_id],[_sync_dirty],[_sync_mark]) 

           Values("1","0","1",NULL,X'F53F3F00104A46494600010100000100010000F53F004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432F53F0043010909090C0B0C180D0D1832211C213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232F53F0011080060006003012200021101031101F53F001F0000010501010101010100000000000000000102030405060708090A0BF53F003F0002010303020403050504040000017D0102030004110512213141061351610722711432BC3F2342F715526F243362723F0A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A0E97729B00439FDEBAE5A6160624399779DD9A4CA892E3C9BF2D7ACFB4811D9F6EB1BC8C3F3F001F0100030101010101010101010000000000000102030405060708090A0BF53F003F00020102040403040705040400010277000102031104052131061241510761711322323F1442BDF7092333523F62723F1624343F3F18191A262728292A35363738393A434445464748494A535455565758595A636465666768696A737475767778797A11603691C3427CD9C47245972B119200AF2DC55044ECA4C969D5DDCFB4811D5DDD8A2CEBF53F000C03010002110311003F0033493FA150173F30075C3FFECE0C063F3D69081C122972187068765D46C3411B3F243C11AF3F6534292E4C2E0E1F5A4DA04D3102115C41727A42FB28781A727D076011B1158714F63F3F68663F3F51B50416253F514D018968963C533FF44372DE4243562C3F5305316744ACDE482B67302C925857234DF63F53F375013E093F391C7AAE3F05CF673F3F425F1B3F60243F154B3F096D2952F7A0533F3F1F3F76ECF50005173F72554378D45C2C413F287B9A224C26AE263C113F3F979F594B1B583BB6F00F9F3F785BAB730DEF5253AC0083753764084D6E30F1156B3F0064571F79013F34E20F7A3E3F6A0E243459676D1F7D4D7551DF7BF449885637CB9177CE1B545585393F9A3FB5504B533D6EBC2A3F20553FBD56AA3F1B947A56F500964B1E3F0536DC7935451C854655533F3D766567C03FEF71F500C66F3F3F2F03734CF50091947B3878DC2F8B232B7C467DB83F5B67733FA80C76766B416699085038F13E1D2CDB4347853C3FC10A3A3323551F997E3F5506463D69E4F5003F74824C3F293F1E5F133F6E45184E53271C3D539D4673781E3F40F500908804B3787A0535CA81E07C1C4F671B35A640FC3F143F3E64780E4209723BCC02395F7A10737D1EDC7EBAA11F1B3F35533F5667075E542D52D8EAF53F696E3C0F788F6B7B403F3F3F84F5003F3F1965E0626B0A151D0F5B0DC02829396A79853A641075F3F50086653F9DC73F4F3F49F50009557A3FBCC668943F35063F7F0E783A5D347D16000E80B9439A693004AD19684F29603F3FD43D174FB5B710A3FA7C3B30723F5F6A601678383FBA3F3F083F5A5FED3FDE1C3A74733A5464A33FAC2E3F003F3F3F023F326D4E27C4181EF500B93F3F786BC57E607D6B3FDE395B5F3F430F18ED062E4EC8573F000C353F5C476CCA5F0B3F0069AEEC543F3F2E3F6E0818260A3F6E612D3A687869731044253D4939D77B56C18D0C1CCF3F7A4AA2945F15513E58096A683F254CD8E73F7A1997E86D3F5D3E131715083F4B3FDE3B31A0A94D3F447C4E5BDE5C94C0EC22430F7F3A7D82423F2B3F7F27C5690F0179787A511FF7CEC869B5290D3A3FAF23C11FA3210E3C163F16957BAD5371573C1F0249A86FF0FC3373AF2DA83FF5420C715D1422A634AC7D716ADA48703F0E49E2EE14C9B60B035524B878BF0143767761E6160A6200263E0569AC47334D19B8DF4645600F3526703E3F293CBA46354E54993F43CB7DEE8A3F3F3C63603F6D96113F74393FF500ADF554CA3F993F149B3F937A1F450A9FAA7A5ED0476564405CD059D0ED7D6E4F7A3F005B6B5C0C087B532D62313F4822232E3437314871B5483FA10917455E335D322B6A5A1F3B392B3F671D69733F40D75255242F30633F4AD9DEBD403F7A1864BF979AC3335C854A497291493F3FF53F',NULL,NULL,NULL,NULL,NULL,NULL,"1",NULL);

Insert  Into [photos] ([_id],[exists_on_server],[person],[local_version],[data],[sync_error],[_sync_account],[_sync_id],[_sync_time],[_sync_version],[_sync_local_id],[_sync_dirty],[_sync_mark]) 

           Values("2","0","2",NULL,X'F53F3F00104A46494600010100000100010000F53F004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432F53F0043010909090C0B0C180D0D1832211C213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232F53F0011080060006003012200021101031101F53F001F0000010501010101010100000000000000000102030405060708090A0BF53F003F0002010303020403050504040000017D0102030004110512213141061351610722711432BC3F2342F715526F243362723F0A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A0E97729B00439FDEBAE5A6160624399779DD9A4CA892E3C9BF2D7ACFB4811D9F6EB1BC8C3F3F001F0100030101010101010101010000000000000102030405060708090A0BF53F003F00020102040403040705040400010277000102031104052131061241510761711322323F1442BDF7092333523F62723F1624343F3F18191A262728292A35363738393A434445464748494A535455565758595A636465666768696A737475767778797A11603691C3427CD9C47245972B119200AF2DC55044ECA4C969D5DDCFB4811D5DDD8A2CEBF53F000C03010002110311003F00C5288B310A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28650A28653FF53F',NULL,NULL,NULL,NULL,NULL,NULL,"1",NULL);

CREATE TRIGGER contact_cleanup DELETE ON people BEGIN DELETE FROM peopleLookup WHERE source = old._id;DELETE FROM peopleLookupWithPhoneticName WHERE source = old._id;DELETE FROM phones WHERE person = old._id;DELETE FROM contact_methods WHERE person = old._id;DELETE FROM organizations WHERE person = old._id;DELETE FROM groupmembership WHERE person = old._id;DELETE FROM extensions WHERE person = old._id;END;

CREATE TRIGGER contact_methods_delete DELETE ON contact_methods BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;

CREATE TRIGGER contact_methods_insert INSERT ON contact_methods BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person;END;

CREATE TRIGGER contact_methods_INSERT_typeAndLabel AFTER INSERT ON contact_methods   WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR         (NEW.type = 0 AND NEW.label IS NULL)   BEGIN      SELECT RAISE (ABORT, 'exactly one of type or label must be set');    END;

CREATE TRIGGER contact_methods_update UPDATE ON contact_methods BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;

CREATE TRIGGER contact_methods_UPDATE_typeAndLabel AFTER UPDATE ON contact_methods   WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR         (NEW.type = 0 AND NEW.label IS NULL)   BEGIN      SELECT RAISE (ABORT, 'exactly one of type or label must be set');    END;

CREATE TRIGGER extensions_delete DELETE ON extensions BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;

CREATE TRIGGER extensions_insert INSERT ON extensions BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person; END;

CREATE TRIGGER extensions_update AFTER UPDATE ON extensions BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person; END;

CREATE TRIGGER groupmembership_delete DELETE ON groupmembership BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;

CREATE TRIGGER groupmembership_insert INSERT ON groupmembership BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person; END;

CREATE TRIGGER groupmembership_update AFTER UPDATE ON groupmembership BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person; END;

CREATE TRIGGER groups_cleanup DELETE ON groups BEGIN UPDATE groupmembership SET group_id = null WHERE group_id = old._id;END;

CREATE TRIGGER groups_to_deleted DELETE ON groups WHEN old._sync_id is not null BEGIN INSERT INTO _deleted_groups (_sync_id, _sync_account, _sync_version) VALUES (old._sync_id, old._sync_account, old._sync_version);END;

CREATE TRIGGER organizations_delete DELETE ON organizations BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;

CREATE TRIGGER organizations_insert INSERT ON organizations BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person; END;

CREATE TRIGGER organizations_INSERT_typeAndLabel AFTER INSERT ON organizations   WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR         (NEW.type = 0 AND NEW.label IS NULL)   BEGIN      SELECT RAISE (ABORT, 'exactly one of type or label must be set');    END;

CREATE TRIGGER organizations_update AFTER UPDATE ON organizations BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person; END;

CREATE TRIGGER organizations_UPDATE_typeAndLabel AFTER UPDATE ON organizations   WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR         (NEW.type = 0 AND NEW.label IS NULL)   BEGIN      SELECT RAISE (ABORT, 'exactly one of type or label must be set');    END;

CREATE TRIGGER peopleDeleteAndPhotos DELETE ON people  BEGIN   DELETE FROM photos WHERE person=OLD._id; END;

CREATE TRIGGER peopleLookupWithPhoneticName_insert AFTER INSERT ON people BEGIN SELECT _TOKENIZE('peopleLookupWithPhoneticName', new._id, GET_NORMALIZED_STRING(CASE WHEN (new.phonetic_name IS NOT NULL AND new.phonetic_name != '') THEN new.phonetic_name ELSE (CASE WHEN (new.name is NOT NULL AND new.name != '') THEN new.name ELSE '' END) END), ' ', 1);END;

CREATE TRIGGER peopleLookupWithPhoneticName_update UPDATE OF name, phonetic_name ON people BEGIN DELETE FROM peopleLookupWithPhoneticName WHERE source = new._id;SELECT _TOKENIZE('peopleLookupWithPhoneticName', new._id, GET_NORMALIZED_STRING(CASE WHEN (new.phonetic_name IS NOT NULL AND new.phonetic_name != '') THEN new.phonetic_name ELSE (CASE WHEN (new.name is NOT NULL AND new.name != '') THEN new.name ELSE '' END) END), ' ', 1);END;

CREATE TRIGGER peopleLookup_insert AFTER INSERT ON people BEGIN SELECT _TOKENIZE('peopleLookup', new._id, new.name, ' ', 1);END;

CREATE TRIGGER peopleLookup_update UPDATE OF name ON people BEGIN DELETE FROM peopleLookup WHERE source = new._id;SELECT _TOKENIZE('peopleLookup', new._id, new.name, ' ', 1);END;

CREATE TRIGGER people_timesContacted UPDATE OF last_time_contacted ON people BEGIN UPDATE people SET times_contacted = (new.times_contacted + 1) WHERE _id = new._id;END;

CREATE TRIGGER phones_delete DELETE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;

CREATE TRIGGER phones_insert INSERT ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person;END;

CREATE TRIGGER phones_INSERT_typeAndLabel AFTER INSERT ON phones   WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR         (NEW.type = 0 AND NEW.label IS NULL)   BEGIN      SELECT RAISE (ABORT, 'exactly one of type or label must be set');    END;

CREATE TRIGGER phones_update UPDATE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END;

CREATE TRIGGER phones_UPDATE_typeAndLabel AFTER UPDATE ON phones   WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR         (NEW.type = 0 AND NEW.label IS NULL)   BEGIN      SELECT RAISE (ABORT, 'exactly one of type or label must be set');    END;

CREATE TRIGGER timestamp_trigger1 AFTER UPDATE ON phones BEGIN UPDATE voice_dialer_timestamp SET timestamp=strftime('%s', 'now') WHERE _id=1;END;

CREATE TRIGGER timestamp_trigger2 AFTER UPDATE OF name ON people BEGIN UPDATE voice_dialer_timestamp SET timestamp=strftime('%s', 'now') WHERE _id=1;END;

CREATE INDEX contactMethodsPeopleIndex ON contact_methods (person);

CREATE INDEX extensionsIndex1 ON extensions (person, name);

CREATE INDEX groupmembershipIndex1 ON groupmembership (person, group_id);

CREATE INDEX groupmembershipIndex2 ON groupmembership (group_id, person);

CREATE INDEX groupmembershipIndex3 ON groupmembership (group_sync_account, group_sync_id);

CREATE INDEX groupsSyncDirtyIndex ON groups (_sync_dirty);

CREATE INDEX organizationsIndex1 ON organizations (person);

CREATE INDEX peopleLookupIndex ON peopleLookup (token,source);

CREATE INDEX peopleLookupWithPhoneticNameIndex ON peopleLookupWithPhoneticName (token,source);

CREATE INDEX peopleNameIndex ON people (name);

CREATE INDEX peopleSyncDirtyIndex ON people (_sync_dirty);

CREATE INDEX peopleSyncIdIndex ON people (_sync_id);

CREATE INDEX phonesIndex1 ON phones (person);

CREATE INDEX phonesIndex2 ON phones (number_key);

CREATE INDEX photoPersonIndex ON photos (person);

CREATE INDEX photosSyncDirtyIndex ON photos (_sync_dirty);

Commit Transaction;

Pragma foreign_keys=true;

分享到:
评论

相关推荐

    android通讯录简单实现

    android4.3通讯录的简单实现,基本的增删改查都都实现,运用了SQLite数据库

    基于android手机通讯录的设计与实现毕业论文

    基于android手机通讯录的设计与实现毕业论文

    Android 通讯录程序附源码

    两个Android通讯录程序,附源码,提供大家参考学习,包含筛选,数据提取

    Android 绿豆通讯录【SQLite数据库】

     Android 绿豆通讯录( SQLite数据库 + ListView数据展示控件 ) https://blog.csdn.net/weixin_44949135/article/details/106029404 采用 SQLite数据库 + ListView数据展示控件,可将用户添加的所有信息,分条...

    android 通讯录 电话本按字母排序即时搜索

    android仿QQ通讯录 右侧按字母索引 按字母排序分类 顶部搜索框输入数据立即搜索 简单易懂 转载

    Android studio—读取通讯录

    用于与博客匹配的资源,简单学习Android 中读取通讯录的操作,方便大家进行学习和思考。仅用于学习参考,谢谢

    android实战 绿豆通讯录(android studio源程序工程)

    包括Android 移动开发基础案例教程课本中第五章实战演练——绿豆通讯录的源代码,可用Android studio运行,适合初学者学习。

    Android Studio简易通讯录界面.rar

    1、获取手机通讯录的信息;2、手机通讯录的数据封装;3、手机通讯录的信息的UI适配;4、对ListView的优化。

    Android开发实验---通讯录.docx

    解决添加联系人的表中添加数据以及读取已保存的数据 3. 实现通讯录的基本功能的具体实现。 4. 对通讯录界面的具体设计,给人一种方便的操作通道。 5. 灵活应用各种系统库函数实现完整的通讯录。 Android开发实验---...

    Android实现通讯录APP代码

    1、有UI界面,包括菜单、对话框、列表、按钮、通知等内容,布局合理美观。。 2、后台使用SQLite数据库进行存储,实现文字、图片存储;实现增、查、删功能。

    Android Studio实现通讯录项目,优秀课设,简单易上手,小白必看!

    使用SQLiteDatabase数据库来存储数据,界面简洁优雅,美观大方。 项目的运行演示视频地址如下:https://live.csdn.net/v/embed/185301 详细的介绍博客地址如下:...

    android简易通讯录

    自己实现的一个简易通讯录,适合初学者来检测自己的android开发水平,其中包含数据存取与规定的数据结构,如35byte为一条联系人纪录,前1024byte留空为以后实现业务做预备等等。界面较为简单,有兴趣的朋友们可以试...

    Android Studio 做的小型通讯录

    运用Android Studio练习的一个通讯录App,其中存储数据用的是SQLite数据库,能够实现联系人信息的增、删、改、查。 并且还能实现打电话功能和发短信功能。

    Android通讯录分组联系人更新

    Android 调用系统通讯录 新建分组,添加分组数据 删除分组数据

    android通讯录

    android通讯录, 能够实现打电话 发短信 批量删除 删除等操作,采用的是自定义对话框,一个很使用的android实例,数据采用的是sqlite。

    Android实现通讯录功能

    本文实例为大家分享了Android通讯录案例,供大家参考,具体内容如下 实战演练——通讯录 1、功能描述:通过SQLite实现数据库的增删改查 2、技术要点:SQLite的基本操作 3、实现步骤: ① 创建一个类继承...

    android 自定义头像通讯录

    基于android的自定义联系人头像通讯录,可以选择头像。程序对外提供了一个URI接口,方便其他程序,比如防火墙访问通讯录中数据。参考了《Android应用开发揭秘》一书,在此感谢杨丰盛作者。

    基于android的通讯录同步系统

    基于android的通讯录同步系统,实现通讯录的基本功能,通过json实现数据的传输

    Android 读取通讯录过滤 自动补全

    你在读取通讯录的时候可以根据你所输入的汉字或者字母过滤你不想要的人名,例如google的那种自动补全就是。

    基于Android的通讯录

    通讯录的添加,删除,修改,查询,拨号,并在SQL数据库的基础上建立数据表,并且通讯录的记录可在数据库中查看

Global site tag (gtag.js) - Google Analytics