初学Symbian,关于框架方面的一些问题。
本人是开发K-JAVA的,没有过VC和MFC的开发经验,现在在学习Symbian,看了一些书和文档以及源码。在此把自己的一些对于程序框架方面
的总结写下来,望这里有经验的大侠们能路过看看,看看小弟的理解是否正确,谢谢!
经典的symbian入门介绍都会说symbian application有3种架构:
1.基于控件的传统的架构
2.基于对话框的架构
3.基于视图切换的架构
由于我做的K-JAVA比较多,下面多数用K-JAVA的架构做比较,望大家不要嘲笑。
对于第一种,我的感觉就是你写的VIEW是继承CCoeControl类的,有点类似K-JAVA里面的Canvas,就是你自己要实现一切的重绘任务和按钮事
件的捕捉,比如我要画一个比较特殊的界面,就要用这种方式来实现。
对于第二种,我的感觉就是它类似于K-JAVA里面的高级界面(继承自SCREEN的那种),虽然对话框和CCCoeontrol与高级控件与CANVAS的层次
关系完全不同,但是可以理解为作用差不多。
对于第3种,研究的不是很多,感觉就是采用这种架构,能方便的在其它应用种切换视图到我的应用里面,由于暂时没有做这方面的东西,所
以没有实践。
奇怪的是:我看了很多入门的材料,上面都是把第1种和第2种分开来介绍的,给人的感觉就是,你如果要写一个东西,要么采用第一种,要
么采用第二种,我看了源码后发现,你在写VIEW层的东西时,你可以写一些类是继承CCoeControl的,用作一些低级的实现(比如游戏中的游戏
界面),然后也可以写一些类是继承Dialog的(比如设置和输入用户名的界面),完全可以在应用中自由实现,通过UI的按键事件接受函数
切换这些界面。感觉这个和K-JAVA里面不是一样的吗?你自己写一个类继承Canvas,重绘低级界面,如果碰到一些比如输入用户
名,多选框的,你要是不高兴自己画,就调用继承Screen的高级界面实现。是我对SYMBIAN没有开发经验,理解错了?还是没有看懂书上的东
西?还是事实如此?
还有就是Symbian中窗口(RWindow)的概念,感觉我要是开发一个S60的应用,不管里面有多少界面,整个应用里面就用一个窗口就够了,是不是这样的?
望大家赐教!谢谢!