WEB开发网
开发学院手机开发Symbian 开发 Symbian OS应用开发学习笔记之通讯录(电话薄Cont... 阅读

Symbian OS应用开发学习笔记之通讯录(电话薄Contacts)

 2010-05-31 19:44:00 来源:WEB开发网   
核心提示:LIBRARY cntmodel.lib#include 例1、 打开和关闭数据库CContactDatabase::OpenL()函数有两个重载函数,如果该函数没有给出一个参数,Symbian OS应用开发学习笔记之通讯录(电话薄Contacts)(2),就打开默认的数据库,另一种情况是,例3、 读取(遍历)通讯录条

LIBRARY cntmodel.lib

#include

例1、 打开和关闭数据库

CContactDatabase::OpenL()函数有两个重载函数。如果该函数没有给出一个参数,就打开默认的数据库。另一种情况是,应用软件设计师也可以传递一个有关数据库的路径和文件名,规定打开一个指定数据库。

//打开默认数据库

CContactDatabase* contactsDb = CContactDatabase::OpenL();

CleanupStack::PushL(contactsDb);

//取得当前数据库所有通讯条目数

TInt numberOfContacts = contactsDb->CountL();

//释放数据库

CleanupStack::PopAndDestroy(contactsDb);

要注意的是:某个通信录数据库并不具有Close()函数或类似的函数,否则我们压入清除栈时就得用CleanupClosePushL()函数了。

例2、 创建数据库

CContactDatabase::CreateL()函数与CContactDatabase::ReplaceL()函数之间的唯一差别就是:如果该数据库已经存在,前者会以KErrAlreadyExists退出。如前所述,如果没有定义参数,这些函数将创建一个默认的数据库。CContactDatabase::FindContactFile()函数给出了一个描述符,如果不存在默认数据库的话,该描述符就会返回该默认数据库的位置。

// If one is found, replace it with a new empty default database.

// If no default database is found, create a new one.

TFileName contactDbFilePath;

CContactDatabase* newDefaultContactDb;

//是否存在默认数据库

if(CContactDatabase::FindContactFile(contactDbFilePath))

{

newDefaultContactDb = CContactDatabase::ReplaceL();

}

else

{

newDefaultContactDb = CContactDatabase::CreateL();

}

CleanupStack::PushL(newDefaultContactDb);

// 添加自己功能代码

CleanupStack::PopAndDestroy(newDefaultContactDb);

注:以上代码负责创建一个空的默认数据库。

例3、 读取(遍历)通讯录条目

可以用TContactIter类(该类起到数据库操作中类似游标的作用)来遍历一个通信录数据库。这个类提供了一整套的函数,用于遍历所有的通信录项。所有的函数都用通信录项ID

上一页  1 2 3 4  下一页

Tags:Symbian OS 应用开发

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