昨天晚上学习基础到11点,今天早上7点再来了解一下应用框架.
仔细了解了一下,发现主要的应用框架原来还分两种,一种是Symbian OS应用框架,一种是S60应用框架.前者的类主要基于CEik...后者的类主要基于CAvkn...前者包括的内容比较多一些,有4个主要的类:CEikApplication,CEikDocument,CEikAppUi,CEikview,后者只有两个:CAknDocument,CAknAppUi.后者的CAknDocument不支持修改,而是系统默认,而且起源于前者.由此看来HellowWorldBasic应该属于Symbian OS应用框架和S60应用框架结合使用的程序,S60平台的程序大概都是这样的吧.
这里还涉及到一个Uikon的问题,有资料说Uikon是Eikon的扩展和修订,但是在Help里并没有太多的提及.我认为他们三个好像有这样一个关系,Eikon是基础,Uikon是对其的扩展和修订,Avkon是对于他们二者的扩展和修订.三个都有相同点,也都有不同点.想画个UML图说明一下,发现他们之间只是简单的关联关系,也不值得一画了. 在VC中展开Symbian工程所有分支,似乎好多文件,无从下手,看起来很复杂,但事实上却不是这样的.很多东西是在编译的时候自动包含进来的,还有一些是系统默认生成的,都不用我们去管.用这样的思想去看待工程文件,引用一句广告词:感觉棒极了.
CBA:控制按钮域(总忘记,记下来)
GUI的设计
GUI的设计主要有三种结构: 1.传统Symbian OS控制结构2.基于Dialog结构3.view结构. 具体采用那一种要看程序的复杂程度而定.传统Symbian结构和Avkon结合的很好,剩下的都没提到.
继续深入了解一下Symbian工程项目里面的文件: 1.rss资源文件,包括对于资源的引用,以及与UI有关的内容.编译以后被转换成二进制文件,载入运行.而且编译以后,rss文件会被转变为rsc文件. 2.cpp原文件,是整个工程的主要部分,主要包括了功能的具体实现和执行.C工程名.uid.cpp是系统默认,程序员不能修改. 3.h和hrh文件为头文件.h的使用比较普遍,在其他C++程序里都有体现,系统自带了一些h,也可以自己手工编写.hrh有点特殊,可以人工编写,也就是在程序中能够使用到的.还有一部分包含在系统定义的Eikon.hrh,Uikon.hrh和Avkon.hrh里面,这些都是S60 UI框架预定义的. |