WEB开发网
开发学院手机开发Symbian 开发 Symbian OS 应用开发实例之通讯录(电话薄Contacts... 阅读

Symbian OS 应用开发实例之通讯录(电话薄Contacts)

 2010-08-11 12:12:00 来源:WEB开发网   
核心提示:CContactIdArray* exportContact = CContactIdArray::NewL(filter->iIds);CleanupStack::PushL(exportContact); //4RFile file;//新建文件,aFileName是文件名字file.Replace(file

CContactIdArray* exportContact = CContactIdArray::NewL(filter->iIds);

CleanupStack::PushL(exportContact); //4

RFile file;

//新建文件,aFileName是文件名字

file.Replace(fileSession,aFileName,EFileWrite);

CleanupClosePushL(file); //5

//声明文件流

RFileWriteStream outputStream(file);

CleanupClosePushL(outputStream); //6

TUid id;

id.iUid = KVersitEntityUidVCard;

//导出到文件

contactDb->ExportSelectedContactsL(id,*exportContact, aWriteStream,

CContactDatabase::EExcludeUid);

CleanupStack::PopAndDestroy(6,contactDb);

Symbian S60独有通讯录操作API引擎

以上是适用于任何Symbian OS通讯录操作的方法,在S60平台SDK中nokia专门为我们建立了一个操作通讯录的引擎,以及相对应的产生了一些封装的类:

CPbkContactEngine(通讯录引擎类):如果已经存在一个缺省数据库,CPbkContactEngine::NewL()就连接到该数据库,否则创建该数据库。当然也可以传入文件名,打开一个指定的通讯录数据库,根据头文件cpbkcontactengine.h,他就是对 CContactDatabase和观察器类 MContactDbObserver封装了下并进行了一些优化,简便了我们操作时的一些代码,为此操作起来比较方便。

CPbkContactItem(通讯录条目类):该类头文件是CPbkContactItem.h,主要对通讯录条目类CContactItem的封装和优化,可以看出很多导出函数都是一致的。

TPbkContactItemField(域类):不用想也知道这个类是怎么来的了,该类的头文件 tpbkcontactitemfield.h。有兴趣的可以去研究比照一下。

当然也有其他一些封装的类,只不过离通讯录模型比较远的,我们就不多展开了,在例子中看其使用。

例7、 新建通讯录条目

_LIT(KFName,"King");

_LIT(KLName,"Chai");

_LIT(KNumber,"13777777777");

// 运用引擎打开默认通讯录

CPbkContactEngine* iPbkContactEngine = CPbkContactEngine::NewL();

CleanupStack::PushL(PbkContactEngine);//1

//新建一空通信录项

CPbkContactItem* contact = iPbkContactEngine->CreateEmptyContactL();

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

Tags:Symbian OS 应用开发

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