Symbian 应用程序框架-基本类的介绍

一、基本类:

 1 应用程序视图(View)类:GUI根控件,该类实现主窗口,并充当其他应用程序控件的容器。

 2 应用程序用户界面(UI)类:该类实例化应用程序View类,处理发自应用程序的命令;

 3 应用程序文档类(Application document)类: 该类处理应用程序中非GUI数据-应用程序数据。它还实例化应用程序的UI类;

 4 应用类(Application)类:主要的应用程序类,通过实例化应用程序和启动文档类,来启动应用程序。它也设置应用程序的UID(各个应用程序的唯一标识符)。


二、交互流程

   源文件中各个文件:以“helloworld”为例

1)   helloworld.cpp,该文件包含了应用程序的入口点。所有的DLL都需要E32DLL(应用程序实际就是DLL),虽然它不做任何事情,但必须返回一个成功状态(KErrNone)。Symbian OS应用程序框架调用NewApplication()方法,创建并返回一个应用程序对象指针,该指针在helloworld_app.cpp文件中定义。

2)  helloworld_app.cpp  该文件包含了应用程序类的实现。应用程序启动时,GUI框架调用这些方法。应用程序框架定义并返回应用程序的UID,同时创建并返回应用程序文档对象。

3)  helloworld_doc.cpp 文件, 该文件处理应用程序中的数据。由框架调用CreateUiL()方法,创建并向应用程序UI类传递指针;

4) helloworld_UI.cpp文件,它包含了程序的UI类。GUI应用程序的UI类是进行操作的地方,因为应用程序在这里处理用户事件。所有的用户事件(键盘输入等)来自于UI类的HandleCommandL()方法。

5) helloworld_view.cpp文件,View实例化后,UI框架调用View类的ConstructL()方法。正是这个方法创建了主应用程序窗口,并激活后进行显示。为了在屏幕上绘制控件,框架针对每个控件调用Draw()方法,应用程序的视图是一个控件。

  Model没有映射到Symbian OS的特定类,它的作用在于应用程序的数据和算法。该Model归Document所有,可以调用Document提供的方法来访问它。


三、核心类介绍

 1) 应用(Application):是应用程序的主入口点,它将应用程序相关的信息(如图标、标题等)返回给系统框架。Application自身不包含程序的数据和算法,这部分的类继承自CAknApplication类。

 2)文档(Document):提供了存储数据的环境,该部分的类继承自CAknDocument,文档同时也实例化了一个AppUi类。

 3)应用程序UI(Appllication UI):本身不是一个可绘制的控件,更准确的说,它负责接受信息,是一个框架触发的通告消息的接受器,如对用户按键事件或重要的系统事件进行接收。AppUi会处理此事件,或者传递给View处理。这部分按键事件或重要的系统事件进行接收。AppUi会处理此事件,或者传递给View处理。这部分的类继承自CAknAppUi。

 4)视图(view):这是用户在屏幕上实际看到的视图,在简单的应用情形下,它可以用于显示数据,或者在较为复杂的应用情形下,它能够用于收集用户数据。例如,文字处理应用程序中的编辑器是文本字符键入的地方。此编辑器就是一个Avkon类提供的标准控件。

posted @ 2010-05-12 20:42  landylee  阅读(406)  评论(0编辑  收藏  举报