于Symbian OS的通讯录操作总结
2010-05-31 20:12:00 来源:WEB开发网基于Symbian OS的通讯录操作总结
用于记录通讯信息的数据库,存在于“systemdata”目录下,文件名为“contacts.cdb”。主要操作有:
1、打开数据库:
CContactDatabase* database=CContactDatabase::OpenL( );
CleanupStack::PushL(database);……..CleanupStack::PopAndDestroy(database);
2、添加新记录
例1、建立一个新记录:
CContactItem* sys_template=
database->CreateContactCardTemplateL(_L(“Contacts”),EFalse);
CContactCard* newCard=CContactCard::NewL(sys_template);
//从database中复制一个模板到新记录中
设置字段组引用变量:
CContactItemFieldSet& currentFieldSet=newCard->CardFields( );
求得字段数:
const Tuint fieldCount=currentFieldSet.Count( );
设置字段引用变量:
CContactItemField& field=currentFieldSet[n];
设置字段类型:
const CContentType& type=field.ContentType( );
type.ContentsFieldType(KUidContactFieldGivenName)
向字段存入数据:
CContactTextField* textStorage=field.TextStorage( );
textStorage->SetTextL(buf);
向数据库中插入新记录:
cardId=database->AddNewContactL(*newCard);
例2、// 字符串声明
_LIT(KForenameLabel,"Forename");
_LIT(KSurnameLabel,"Surname");
_LIT(KWorkPhoneLabel,"Work Phone");
_LIT(KForename,"Steve");
_LIT(KOtherForename,"Bob");
_LIT(KSurname,"Wilkinson");
_LIT(KWorkPhone,"+441617779700");
//打开默认数据库
CContactDatabase* contactsDb = CContactDatabase::OpenL();
CleanupStack::PushL(contactsDb);
// 建立一个新记录,并为该记录添加字段:
CContactItem* contact = CContactCard::NewLC();
CContactItemField* field =
CContactItemField::NewLC(KStorageTypeText, KUidContactFieldFamilyName);
更多精彩
赞助商链接