Symbian UI 架构分类
创始人
2024-03-27 00:12:18
0

Symbian OS的UI架构主要分成三种:

1. 传统的Symbian系统架构

2. 基于对话框的架构

3. 视图架构

下面将分开讨论三种架构的特点和优缺点:

1.传统的Symbian系统架构

  

  

如图所示程序中框架类主要继承自Avkon Framework的CAknApplication, CAknDocument和CAknAppui,另外容器类继承自CONE的CCoeControl。

使用Carbide C++建立一个包含UI的工程,默认的配置中所使用的架构就是这个传统的Symbian系统架构。

其中,CAknApplication是S60应用程序的基类,主要存储应用程序的属性,比如,可以通过重写OpenIniFileLC()的方式存储.ini配置文件等。

CAknDocument为文档类的基类。

CAknAppUi负责处理各种事件,比如HandleCommandL()。

在CMyContainer中可以包含一个或多个控制控件,实现界面的交互,并负责窗体描画事件。

优点是:

比较简单和清楚的框架,并且可以加入自定义的控制和交互,比较灵活。

缺点是:

没有系统提供的视图的管理方式。

在UIQ中与上述类对应的类是:

CQikApplication,CQikDocument,CQikAppUi

 

2. 基于对话框的架构

  

  

这种架构和***种架构的区别是,使用了一个非模式窗体类CAknDialog来作为主窗体,窗体的设计可以在资源文件中定义,并且可以在不重新编译C++程序的前提下,通过改变资源文件的定义的方式,重新设计窗体。在实践中,这种架构的应用并不多。

 

3. 视图架构

  

  

这种架构的应用最为广泛,在SDK中也有一个叫MyView的例子程序,结合上图仔细读懂这个例子,应该就会清楚很多。

与前两种架构所不同的是,视图类继承自CAknView,并且可以在运行时生成和添加多个视图,并由系统所提供的ViewServer进行管理,在制作稍微复杂一些,尤其是画面比较多的应用程序时,非常有用。但是在Carbide C++中并没有提供默认的工程向导模板,不过可以自己制作一个以方便将来使用。

需要注意的是,与前两种架构不同的是,CMyViewAppUi继承自CAknViewAppUi,他的功能同样是负责接收各种事件,并进行处理,而且可以在这个类中进行各种View的切换和更新激活视图。每个View有自己独立的ID,CAknViewAppUi利用这个ID在 ViewServer中注册相关的窗体,并调用不同的窗体,这种架构更面向对象,并且每个视图中封装了属于自己的数据和方法,实现了更灵活的应用。

【编辑推荐】

  1. Palm新系统曝光 WebOS已在模拟器运行
  2. iPhone OS 3.0升级Beta 4
  3. Symbian操作系统有五大开发价值

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...