Symbian 下菜单的应用开发技巧
2010-03-13 20:25:00 来源:WEB开发网如果该程序要提供给外部程序不同的视图,那你最好用视图结构,有种不在此例的情况,那就是使用的该程序的一个显示页,看上去就象是在外部进程中运行的一样,这种情况该显示页面应该在一个可以被该外部文件连接的DLL文件中实现。
如果用视图结构,那一定要能够处理因外部程序应用而导致的意外去激活,否则就不要用,改用其他两种。
如果外部程序要与该程序进行复杂的数据交互,那注意了,要使用一个客户/服务器系统,这个系统可以与三种结构中任意一种一起工作。
现在我们来谈谈symbian的主要的框架类:
它有四个基本框架,麻雀虽小和MFC框架自然不能比拟,但也确实有相近之处。
Application、Document、AppUi、View
Application属于应用程序的启动对象,就象是MFC的CWinApp类,它定义了应用程序的属性,这个类也创建文档。本应用类的基类就是CAknApplication
Document是做为程序用来存储数据用的,一个应用程序必须有一个Document文档类的实例,可能是用来被加载AppUi的唯一要求,这个类的基类是CAknDocument,它就好似是MFC的CDoument,在MFC中这就是用来处理永久存储的:)
AppUi,负责处理与应用有关的事件,比如说是options菜单选项、文件的打开和关闭等。注意它将图形绘制和基于屏幕的交互操作委派给自己所拥有的Views,也负责这些views之间的切换。AppUi的基类是CAknAppUi或者 CAknViewAppUi,我认为这个类有点类似于MFC中的 CFrameWnd。
比较复杂点的是View,它主要是负责显示屏幕上那些可以与用户交互的数据,并且把用户的操作反馈给AppUi,这个正如上面所说的,是处理与应用有关的事件。
view可以继承自CCoeControl或CAknDialog或者是CAknView,看出来没有,三种基本结构view都是唱主角的。这个很重要,反正显示的任务就交给它了,甭管是传统、对话框还是视图结构。
Symbian我们之前讲过,有界面和引擎之分,前面讲的都是界面相关的,那引擎哪,通常是在自己的类库中实现,它主要是体现应用程序的功能,处理其算法等,在这里也有个术语叫Model/Engine。
提纲契领的说一下,是Framework创建Application,由Application创建文档,在由文档创建出AppUi,然后AppUi负责拥有Model/Engine和View。
更多精彩
赞助商链接