j2meblog

symbian

S60/Symbian应用程序常用架构/框架

所谓应用程序架构是指应用程序框架类的集合。基于所需的UI设计,应用程序可以具有稍微不同的架构,但是每种架构都有一些公共部分,称为核心应用程序类

  一、先看一下基础部分,具体架构在第二部分介绍

  (1)核心应用程序类.

  所有的S60 UI应用程序都具有一些基本功能:

  提供一个用户界面,用于显示信息并允许用户进行交互

  响应各种用户启动的事件,比如用户选择一个菜单项

  响应系统启动的不同事件,比如导致屏幕重绘的window服务器事件

  能够保存和恢复应用程序数据

  可以唯一性的向框架标志自身

  向框架提供有关应用程序的描述性信息,比如图标和标题等

  这些类是:视图(View)、文档(Document)、应用程序(Application)、应用程序UIApplication UI)。

  一个程序只能有一个文档,可以有多个视图。

  (2)应用程序初始化

  必须创建下面的每个方法,才能提供最小的S60应用程序:

  a、所有S60 UI都实现一个全局函数E32DLL(),当应用程序启动时,框架将首先调用该函数,该函数也称为DLL入口点,应用程序必须存在该函数。每个S60 UI 应用程序都是一个多态DLL

  b、让框架调用NewApplication(),该函数是由DLL导出的唯一函数。

  c、创建应用程序类的一个实例,并返回它的指针,以后框架使用该指针完成应用程序的创建。

  d、由框架调用AppDllUid()返回应用程序的UID。该函数必须返回在.mmp文件中指定的值,并且可用于确定应用程序的实例是否正在运行。

  e、框架获取指向新创建Document类的指针,CreateDocumentL()。

  fNewL()具体去创建

  g、矿见获取AppUi类的指针,CreateAppUiL()。

  h、由new EleaveCappUi()具体创建。

  这样一个最简短直观的框架就创建完毕。

  (3)重要的AppUi方法:

  AppUi提供了许多方法,框架可以调用这些方法通知每个应用程序各种事件。

  HandKeyEvent()用于处理用户按键

  HandleForegroundEventL()当应用程序切换到前台或从前台切换到后台时调用该函数,默认的实现可以处理键盘焦点的改变。

  HandleSystemEventL()传递由窗口服务器生成的事件

  HandleApplicationSpecificEventL()可以自己定义的自定义事件的通知。默认的实现可以处理颜色方案改变的通知。

  HandleCommandL()用于处理用户选择的菜单项

  (4)设计应用程序UI

  关于术语视图(view

  视图是概念性的术语,含义是数据模型在屏幕上的表示,实际上由一个或多个从CcoeControl派生而来的UI控件实现视图,这些控件按层次结构进行组织。父控件通常被称为容器(Container),除了用于实现视图的父控件,这种控件被称为对话框(Dialog

  在Avkon视图切换架构中,术语“Avkon视图指的是系统范围内的View服务器注册的类,它控制视图的实例化和析构。

  二、常见的symbian应用程序架构:

  每种架构都提供了设计应用程序UI的不同方法――所有的架构都提供了提交视图或应用程序数据可视化表示的方法,同时提供了一种用户用来与架构进行交互的机制。

  先简单认识一下:基于对话框的架构和传统的基于Symbian OS的架构虽不相同,但和Avkon视图切换架构相比,这两种架构彼此更为类似。Symbian开发     Symbian系统

http://www.j2mehome.com/

 

posted on 2009-07-21 19:59 j2meer 阅读(155) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。