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

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

 2010-03-24 17:18:00 来源:WEB开发网   
核心提示:类用于创建一个新的数据库或打开一个现有的数据库,还提供了访问各通信录项的功能,Symbian OS 应用开发之玩转通信录(2),既可以读取也可以打开通信录项,如果希望编辑或删除该项,另一种情况是,应用设计师也可以传递一个有关数据库的路径和文件名,就必须打开它,尽管一个应用在某个时间点只能打开一个特定的通信录项
类用于创建一个新的数据库或打开一个现有的数据库。还提供了访问各通信录项的功能。既可以读取也可以打开通信录项。如果希望编辑或删除该项,就必须打开它,尽管一个应用在某个时间点只能打开一个特定的通信录项。当完成对通信录项的修改后,即把它们提交给数据库保存。当然这个类还提供了很多其他的功能,例如排序、查找等等。这个类是通信录操作中很重要的一个类。

通信录模型提供了MContactDbObserver类,某个应用可以继承自这个类,用于接收由某个特定的通信录数据库所产生的修订提示。使用该观察者(observer)的那些应用会接收事件提示,这些事件可以是向数据库中添加一个新通信录、修改或删除一个现存的通信录,以及一定范围内的其他有用提示。

所有通信录项都继承自抽象类CContactItem,对其访问是通过前面讲过的CContactDatabase类管理的。可以用CContactItem::Id()函数(该函数返回一个 TContactItemId)来获取每个通信录项的唯一ID。CContactItem类也含有对通信录项内部的域进行操作的功能。可以添加及插入新域,也可以删除项目中的现有域。

某个通信录项内部的一些域由CContactItemField类所代表。为方便起见,位于某个特定项内部的所有域都被储存在一个结构内部,该结构被称为一个域集(CContactItemFieldSet)。每个通信录域储存了实际的域数据,以及针对该数据的一个特定储存类型。这可以是一个文本串、一个数据/时间值、一个商店,或者一个代理,它由TStorageType类代表。一个代理域基本上是对另一个通信录的链接,如,Series 60 Platform就是这样实现的:将其他通信录项的ID联系到该通信录域。请注意:这里并不支持数字表示的通信录域。所有数字信息,如电话号码和传真号码,都被作为文本保存。

接下来我们的实践会用到上面的部分类,所以上述的类大家需要认真熟悉一下,更多的细节也可以查找相关sdk的help文件。

打开、关闭数据库

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

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

// Open the default contacts database.

CContactDatabase* contactsDb = CContactDatabase::OpenL(); //打开默认数据库

CleanupStack::PushL(contactsDb);

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

Tags:Symbian OS 应用开发

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