sysbian 通讯录的字段的读取和查找
来源:互联网 发布:桔子理财安全吗 知乎 编辑:程序博客网 时间:2024/06/06 13:21
下面是增加和查找的例子,需要加上头文件和在mmp里面加上响应的能力和lib,可以到网上找下
增加例子:
TBool CInformationSynView::AddContactItem()
{
_LIT(KFName,"kkkkk");
_LIT(KLName,"kkkkk");
_LIT(KNumber,"13777777778");
_LIT(QKUidContactFieldGivenName,"1111");
_LIT(QKUidContactFieldFamilyName,"2222");
_LIT(QKUidContactFieldCompanyName,"3333");
_LIT(QKUidContactFieldJobTitle,"4444");
_LIT(QKUidContactFieldPhoneNumber,"5555");
_LIT(QKUidContactFieldFax,"6666");
_LIT(QKUidContactFieldSIPID,"7777");
_LIT(QKUidContactFieldEMail,"8888");
//运用引擎打开默认通讯录
CPbkContactEngine* iPbkContactEngine = CPbkContactEngine::NewL();
//新建一空通信录项
CPbkContactItem* contact = iPbkContactEngine->CreateEmptyContactL();
CleanupStack::PushL(contact); //2
//设置first name 域
TPbkContactItemField* field = contact->FindField(EPbkFieldIdFirstName);
field->TextStorage()->SetTextL(QKUidContactFieldGivenName);
//设置last name域//2222
field = contact->FindField(EPbkFieldIdLastName);
field->TextStorage()->SetTextL(QKUidContactFieldFamilyName);
//设置CompanyName 域//3333
field = contact->FindField(EPbkFieldIdCompanyName);
field->TextStorage()->SetTextL(QKUidContactFieldCompanyName);
//设置JobTitle 域//4444
field = contact->FindField(EPbkFieldIdJobTitle);
field->TextStorage()->SetTextL(QKUidContactFieldJobTitle);
//设置PhoneNumberMobile //5555
field = contact->FindField(EPbkFieldIdPhoneNumberMobile);
field->TextStorage()->SetTextL(QKUidContactFieldPhoneNumber);
//设置Fax 域//6666
field = contact->FindField(EPbkFieldIdFaxNumber);
field->TextStorage()->SetTextL(QKUidContactFieldFax);
//设置IdSIPID 域//7777
// field = contact->FindField(EPbkFieldIdSIPID);
// if(field!=NULL){
// field->TextStorage()->SetTextL(QKUidContactFieldSIPID);
// }
//设置QKUidContactFieldEMail//8888
field = contact->FindField(EPbkFieldIdEmailAddress);
field->TextStorage()->SetTextL(QKUidContactFieldEMail);
//可以添加其他值域
//...
//修改后结果添加到数据库中,并返回这个通信录项的id,该id可以以后使用
TContactItemId Id = iPbkContactEngine->AddNewContactL(*contact);
CleanupStack::PopAndDestroy(contact);
return ETrue;
}
查找的例子
TBool CInformationSynView::SearchContactItem()
{//const TDesC& aTelephoneNumber
_LIT(GivenName,"1111");
_LIT(FamilyName,"2222");
_LIT(PhoneNumber,"5555");
TBuf<64> givenname(GivenName);
TBuf<64> familyname(FamilyName);
TBuf<64> phonenumber(PhoneNumber);
CContactDatabase* contactsDb = CContactDatabase::OpenL();
CleanupStack::PushL(contactsDb);
CPbkContactEngine* iPbkContactEngine1 = CPbkContactEngine::NewL();
CleanupStack::PushL(iPbkContactEngine1);
CContactIdArray* contactIdArray =iPbkContactEngine1-> MatchPhoneNumberL(phonenumber,phonenumber.Length());
CleanupStack::PushL(contactIdArray);
TInt matchnumber=contactIdArray->Count();
// iPbkContactEngine1->MContactDbObserver
if (contactIdArray->Count() > 0)
{
for(TInt i=0; i<matchnumber; i++)
{
TContactItemId ownCardId = (*contactIdArray)[i];
CContactItem* ownCard=contactsDb->ReadContactL(ownCardId);
CleanupStack::PushL(ownCard);
CContactItemFieldSet& currentFieldSet =ownCard->CardFields();
TInt GivenNameFieldId=currentFieldSet.Find(KUidContactFieldGivenName);
TInt FamilyNameFieldId=currentFieldSet.Find(KUidContactFieldFamilyName);
if( GivenNameFieldId!=KErrNotFound && FamilyNameFieldId!=KErrNotFound )
{ //读出数据
TPtrC name =ownCard->CardFields()[GivenNameFieldId].TextStorage()->Text();
TPtrC fName =ownCard->CardFields()[FamilyNameFieldId].TextStorage()->Text();
TInt nint=givenname.CompareC(name);
TInt fint=familyname.CompareC(fName);
if(nint!=0&&fint!=0){
return AddContactItem();
}
}
CleanupStack::PopAndDestroy(ownCard);
}
}
delete contactIdArray;
CleanupStack::PopAndDestroy(contactIdArray);
CleanupStack::PopAndDestroy(iPbkContactEngine1);
CleanupStack::PopAndDestroy(contactsDb);
return EFalse;
}
- sysbian 通讯录的字段的读取和查找
- Android手机通讯录的读取、添加、删除、查找
- 读取通讯录的内容
- 读取通讯录的方法
- 如何读取手机上的通讯录和短信息?
- Android开发系列(十一):对手机通讯录的读取、添加、删除、查找
- android从零单排之手机通讯录的读取、添加、删除、查找
- Android开发系列(十一):对手机通讯录的读取、添加、删除、查找
- 时间字段的读取
- blob字段的读取
- 利用Hash查找的算法存储通讯录
- Sqlserver根据字段查找表和根据字段值查找表的几个方法
- oracle和mysql的Blob字段的读取和插入
- 关于sap的字段和对象修改记录的查找
- 关于sap的字段和对象修改记录的查找
- 关于sap的字段和对象修改记录的查找
- sap的字段和对象修改记录的查找
- C# 读取和写入oracle的blob字段的方法
- C语言的入门
- 蓝光光盘的区域位置代码
- 遍历 ArrayList 对象的方法
- Java实现将Map转换为List的小代码
- Java源码分析:深入探讨Iterator模式及Java 5.0中改进的for循环
- sysbian 通讯录的字段的读取和查找
- 备忘 Tomcat 配置文件
- HTML转义符号
- C语言的入门1
- java字符串处理函数列表一览
- JavaScript 图片预览效果——转载
- Use mutt send email attachment at linux command line
- ASP.NET程序
- 1 Notification介绍