初学Symbian,关于框架方面的一些问题。

paulzhang 2006-03-31 12:21:51


本人是开发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的应用,不管里面有多少界面,整个应用里面就用一个窗口就够了,是不是这样的?

望大家赐教!谢谢!
...全文
218 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
paulzhang 2006-04-02
  • 打赏
  • 举报
回复
好的,记下!
chenziteng 2006-04-01
  • 打赏
  • 举报
回复
我不太爱用聊天工具,还是mail联系吧:chenziteng@163.com
paulzhang 2006-04-01
  • 打赏
  • 举报
回复
谢谢楼上的解答.
昨天晚上抽空看了一下,SYMBIAN SDK里面的DOC,英文的,发现里面对三种框架的解释,其实挺详细的.奇怪的是,看了N多网上的入门资料和一些中文的书籍,都说的含糊不清.看来以后还是要多看英文的,不能偷懒.
我做K-JAVA开发有一段时间了,楼上的要是看得起,我们可以多交流.
我的MSN:cheung_paul7901@hotmail.com
:)
chenziteng 2006-03-31
  • 打赏
  • 举报
回复
.

  哈哈,咱们互补,所以你说的Canvas和Screen具体的效果我不清楚,只能谈一些Symbian相关的东西:


  引用1:

"经典的symbian入门介绍都会说symbian application有3种架构:
1.基于控件的传统的架构
2.基于对话框的架构
3.基于视图切换的架构"

  我觉得你对控件(CCoeControl)和对话框(CEikDialog)的理解挺对的,从使用上来说它们在应用程序里可以混用。因为CEikDialog也是从CCoeControl派生出来的,所以它也可以作为应用程序的视图。我感觉1和2的区别就是究竟谁做应用程序的主视图,如果你用向导自动生成一个基于控件的应用程序就能发现它的主视图是一个普通控件,而基于对话框的应用程序主视图是个对话框。


  引用2:

"还有就是Symbian中窗口(RWindow)的概念,感觉我要是开发一个S60的应用,不管里面有多少界面,整个应用里面就用一个窗口就够了,是不是这样的?"

  这个随便你。因为CCoeControl实际上封装了一个RWindow对象,作为应用程序主视图的控件必须拥有一个实际的RWindow对象,而它的子控件既可以拥有自己的RWindow对象,也可以使用主控件的RWindow对象。一般从节省资源的角度考虑只用一个RWindow对象。

3,119

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧