一般Symbian程序结构包括:application,document,appUI,view(container)4个类文件
application类负责启动应用程序(在cardide2.0中application和项目名称。cpp文件一起完成这个任务),并创建一个document类对象。
document类对象负责创建程序引擎和用户界面appui类的对象。
application类和document类都没有对应任何界面元素。
appui类负责管理视图部分,并且响应用户命令。
有个engine类是一个独立的应用程序引擎。对于引擎部分,针对不同的需求会有不同的实现方式。有些程序引擎复杂,包括多个独立的可执行组件。也有些简单的应用程序没有独立的引擎组件,数据的操作可以放在用户界面的代码中实现。
应用程序用户界面可简单可繁杂。有的应用程序只有一个视图,比如计算器程序。有个的比较复杂有多个视图。因此视图有对个结构,针对视图部分。s60平台有3个实现结构:
1.控件结构
2.视图结构
3.对话框结构。
1.控件结构:
使用传统的基于控件的用户界面结构,应用程序的视图是一个ccoecontrol类的派生类。此时视图是一个复合控件,为其他控件提供了一个容器Container,一些开发资料也将这个种情况的视图叫容器类。
于其他简单控件不同,这个复合控件需要创建并控制自己的窗口,应用程序的appui也会讲这个复合控件放到程序的空间堆栈上,起到视图的作用。appui根据程序逻辑创建或者销毁,显示,隐藏这个复合控件。
2.视图结构:
使用基于视图的用户界面框架是,应用程序的视图类派生自AvKon提供的视图基类CAKnView类。用户界面框架提供了一套对CAKnView的管理机制,开发人员可以方便的注册和注销视图,或者在不同视图切换。
这里视图通常不直接显示各个简单控件,而且创建一个容器负责统一管理其他控件
与控件结构比较,视图结构的优势是可以使用CAKnView类提供的各个视图管理机制。
3对话框结构:
这个结构的程序中主要作用的视图是对话框。因此这里的视图派生自AvKon的对话框基类CAknDiaglog类。
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。