最近在看symbian提供的实例-HelloWorld的代码。对于大多数程序语言来说,HelloWorld输出无疑是入门程序。当你完成了开发环境的建立之后,这一步几乎是必须的。就像WordPress为插件编写者提供的hello dolly一样,让你知道它其实很简单。但是symbian版本的HelloWorld看起来完全不是这样。
初看来helloWorld就有四个类:CExampleApplication、CExampleDocument、CExampleAppUI、CExampleAppView。这四个类分别由 CAknApplication、CAknDocument、CAknAppUI、CCoeControl派生而来。
Symbian应用程序的架构类似于MFC的架构,其基本部分由4个基本类组成:
1、Application 类一共有两个作用:第一个是设置这个应用程序的属性, 比如UID, 每一个应用程序都有其独特的UID.const TUid KUidHelloWorld = { 0X10008ACE };KUidHelloWorld就是这个Helloworld的UID.,AppDllUid() 向高层的框架提供这个应用程序的UID, 框架就用此来识别我们的程序。 另外就是制造一个Document类的实例, 因此我们只需要两个函数:AppDllUid 和 CreateDocument。CExampleApplication 从 CEikApplication继承而来,很多不需要我们定义函数都被包含在CEikApplication中。
2、Document 类是应用程序的数据模型,如果这个程序是以文件为基础的,它负责程序的文件操作。 我们的Helloworl不涉及到任何文件,但是我们仍然需要这个个类,因为它还负责制造UI类的实例。
3、UI类尽管名字是“用户界面“, 他并不是可视的组件,它制造View类的实例, 而它更重要的任务是分派命令和事件, 比如菜单命令就由UI来决定怎样处理,分配到什么类,什么函数。 UI类中有两个比较重要的函数,一个是HandelCommandL( ),用于处理菜单事件;还有一个是HandelKeyEventL( ),用于处理键盘事件。
4、View 类是可视的控件, 它负责屏幕显示,同时也可以提供相应的函数来响应相关的事件。视图类从CAknView派生而来,也具有UI类的两个函数,用于在视图中处理相应的事件。描绘用的代码就放在Draw函数中。
这4个类的声明都放在相应的头文件中, 实现在相应的cpp中,除此之外,你会发现还有一个源文件:Helloworldbasic.cpp。 这个文件是Helloworld的入口, 它的作用很简单,就是建立一个Application类的实例。 因此大部分图形界面的工程中这个文件都是差不多的,只是Application类的名字要相应改变。
了解了程序基本的构架,就可以动手写几行代码,或者对于HelloWorld稍加改动,以便了解深层次的知识了。
» 本文链接地址:http://axiu.me/documentation/symbian_coding_c2/
差距啊。。。我除了helloworld,其他都没明白
@万戈 这个入门程序比较麻烦,呵呵
sb系统我到现在还没接触过…主要是没用过nokia的机子..哈 一直是wm系统,然后最近换了iphone…
@Yacca 我很喜欢iphone!只是一直没机会用
呵呵,研究的很多嘛。最近有点想看看android的开发…
@g andriod很有前途啊~~g兄弟加油
symbian 是一个手机的操作系统吧?难道你是为手机写系统的?太专业了
@无名博客 写系统还欠火候,只是开始学这个平台下的程序开发
这个算是嵌入式~
@老饕
是啊,嵌入式
围观HelloWorld…
@隐残影 禁止非法围观,一律弹JJ
@阿修
震精….我闪…你弹不到我你弹不到我…
我也曾经建立过开发环境后建立了第一个hello world就忘记折腾了
@zwwooooo 呵呵,专业折腾一种就很不错啦
@朵未 围观弹JJ……
@阿修
helloword!!!
@苏囧 hello囧囧……
门外人围观来了,不是很懂,抱歉。
@diyidu 围观要抓起来!
貌似我只有围观的份了。。。看不明白
@鲍捷 我目前也在围观阶段……
对Symbian俺是彻底的门外汉。
@crossyou 刚开始都是门外汉,哈哈
加油看吧, 我看的是M8sdk 蛮有趣的
@zlz M8用着很爽啊~~
@虾 请自备指南针
有差距才有进步。
@Tangboke 这话确实有道理
中文汉字,我完全看明白了!
路过学习
现在这技术太牛了
摧文
@zwwooooo 这两天在调主题呢,呵呵~
原来塞班用的C++?我倒是会J2ME
很好,这个我很感兴趣,说实话,有打算学这个,手机软件开发,想法很多,就是找不到我想的软件,真希望有个超级高手可以编写程序,我说什么,它就做什么样的程序出来,未来不知道能不能先进到这个地方,就是完全由机器人完成所有任务,你只需要说要实现什么功能,机器人马上就可以编出软件来。
@郑永 到那时候估计程序员就全下岗了~这不是自掘坟墓么嘛
界面体验不错。。。