WEB开发网
开发学院手机开发Symbian 开发 Symbian OS 应用开发之玩转通信录 阅读

Symbian OS 应用开发之玩转通信录

 2010-03-24 17:18:00 来源:WEB开发网   
核心提示:使用时:CPbkContactEngine* iPbkContactEngine = CPbkContactEngine::NewL();这样它就会建立一个默认通信录的引擎对象,然后:---IMPORT_C void CPbkContactEngine::DeleteContactL ( TContactItemId

使用时:

CPbkContactEngine* iPbkContactEngine = CPbkContactEngine::NewL();

这样它就会建立一个默认通信录的引擎对象。

然后:

-------------------------------------------

IMPORT_C void CPbkContactEngine::DeleteContactL ( TContactItemId aContactId,

TBool aImmediateNotify = EFalse

)

IMPORT_C void CPbkContactEngine::DeleteContactsL ( const CContactIdArray & aContactIds,

TBool aImmediateNotify = EFalse

)

-------------------------------------------

上述两个函数都可以完成删除操作,只是一个是每次删除一个特定Id的通信录项,另一个是删除一个满足条件的通信录项数组。

可以简单的调用实现:

iPbkContactEngine->DeleteContactL(id);

删除后最好调用 iPbkContactEngine->CompressL();将数据库进行下压缩,因为压缩比较消耗时间,所以不要每次删除都进行。

当然有了上面的类CPbkContactEngine,我们还可以实现新建和修改通信录项的功能,其实我们在文章开始时讲述的几个类也可以完成同样的功能,但相对于这个类,操作相对复杂一点,究竟选用什么类,只是你自己的爱好。

下面举例说明实现新建和修改操作:

新建

-------------------------------------------

//省略部分声明代码(与上面重复)

...

CPbkContactItem* contact = engine->CreateEmptyContactL();//新建一空通信录项

CleanupStack::PushL(contact);

_LIT(KFName,"King");

_LIT(KLName,"Chai");

_LIT(KNumber,"13777777777");

//修改first name

TPbkContactItemField* field = contact->FindField(EPbkFieldIdFirstName);

field->TextStorage()->SetTextL(KFName);

//修改last name

field = contact->FindField(EPbkFieldIdLastName);

field->TextStorage()->SetTextL(KLName);

//修改手机号码

field = contact->FindField(EPbkFieldIdPhoneNumberMobile);

field->TextStorage()->SetTextL(KNumber);

上一页  1 2 3 4 5 6 7  下一页

Tags:Symbian OS 应用开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接