定义视图 当视图用作控件时,它也需要派生于 CCoeControl,全部控件派生于这个控件基类。 发送和接收显示特定视图请求的客户端/服务器 过程由视图服务器处理,它是视图架构的主要部 分。这个客户端一服务器界面(API)不是直接被应 用程序使用,而是通过app UI框架中CEikAppUi内 的包装器函数(派生于CCoeAppUi)。 因此,对于称做视图的类,也必须从抽象视图界 面MCoeView实现特定的虚函数,并声明视图ID, 因此视图服务器可以识别这个特定视图。 MCoeView:这个类定义视图界面,应该被所有应用 程序视图使用
6 定义视图 当视图用作控件时,它也需要派生于 CCoeControl,全部控件派生于这个控件基类。 发送和接收显示特定视图请求的客户端/服务器 过程由视图服务器处理,它是视图架构的主要部 分。这个客户端一服务器界面(API)不是直接被应 用程序使用,而是通过app UI框架中CEikAppUi内 的包装器函数(派生于CCoeAppUi)。 因此,对于称做视图的类,也必须从抽象视图界 面MCoeView实现特定的虚函数,并声明视图ID, 因此视图服务器可以识别这个特定视图。 MCoeView这个类定义视图界面,应该被所有应用 程序视图使用
使用视图的优势 使用视图架构,为应用程序添加了下列优势: 应用程序/视图切换能力一一 用户可以从一个视图 切换到另一个视图(在同一个应用程序内或在另一 个应用程序内)。 支持保存数据一一 通过向视图服务器注册视图, 视图的数据总是在禁止该视图之前被保存。 支持发送数据 一一通过把消息打包为由UID标识的 说明符,数据可以通过视图服务器从一个视图发 送到另一个视图(在同一个应用程序内或不同的应 用程序内)
7 使用视图的优势 使用视图架构,为应用程序添加了下列优势: ⚫ 应用程序/视图切换能力——用户可以从一个视图 切换到另一个视图(在同一个应用程序内或在另一 个应用程序内)。 ⚫ 支持保存数据——通过向视图服务器注册视图, 视图的数据总是在禁止该视图之前被保存。 ⚫ 支持发送数据——通过把消息打包为由UID标识的 说明符,数据可以通过视图服务器从一个视图发 送到另一个视图(在同一个应用程序内或不同的应 用程序内)
视图架构组件 如图5.1所示,视图架构非常依赖于 Symbian OS的Jikon和CONE组件(对于 Series60,还依赖于Avkon。请参见第3 章)。它们提供了与视图服务器的连接。 在应用程序中实现视图时,需要知道派生于 MCoeView界面和控件类CcoeAppUi(它们都 是CONE的一部分)的函数。也需要知道如何 使用CEikAppUi内包含的视图特定的函数 (它是Jikon的一部分)。 视图架构内的关系如图5.1所示
8 视图架构组件 如图5.1所示,视图架构非常依赖于 Symbian OS的Uikon和CONE组件(对于 Series 60,还依赖于Avkon。请参见第3 章)。它们提供了与视图服务器的连接。 在应用程序中实现视图时,需要知道派生于 MCoeView界面和控件类CcoeAppUi(它们都 是CONE的一部分)的函数。也需要知道如何 使用CEikAppUi内包含的视图特定的函数 (它是Uikon的一部分)。 视图架构内的关系如图5.1所示
视图架构组件 视图架构内的关系如图5.1所示。 CmyDerived CMyDerived 应用程序 AppUi View CEikAppUi Uikon CONE CCoeAppUi CCoeControl MCoeView 视图服务器
9 视图架构组件 视图架构内的关系如图5.1所示。 CmyDerived AppUi CMyDerived 应用程序 View CEikAppUi CCoeAppUi Uikon CONE 视图服务器 CCoeControl MCoeView
视图架构组件 可见,应用程序内的视图从CCoeControl 和CEikAppUi类创建。视图服务器通过CONE 中MCoeView界面知道该视图。 这意味着,构造视图类时,除了标准应用 程序头文件外,还需要包括的头文件有: coeview.h 允许从MCoeView重写虚函 数。 ccoecntrl.h 允许将视图识别为控件。 eikappui.h一允许重写CeikAppUi内的虚 函数
10 视图架构组件 可见,应用程序内的视图从CCoeControl 和CEikAppUi类创建。视图服务器通过CONE 中MCoeView界面知道该视图。 这意味着,构造视图类时,除了标准应用 程序头文件外,还需要包括的头文件有: coeview.h——允许从MCoeView重写虚函 数。 ccoecntrl.h——允许将视图识别为控件。 eikappui.h——允许重写CeikAppUi内的虚 函数