您的位置:首页 > 其它

Symbian入门指南第三章:深入介绍Helloworld例程

2009-03-11 11:10 134 查看
http://tech.itdb.cn/n/200508/02/n20050802_61513.shtml

第一篇:Symbian UI 程序框架

Symbian UI 程序的框架基本上是统一的。大家只要学习一种简单的框架就可以进行大部分的Symbian开发了。我这里先介绍一个概念。

1.1 MVC 架构

Symbian 基本上使用MVC架构来搭建控件。Symbian UI程序设计主要讲究的也是如何使用控件。而No kia没有做好的一个方面就是有关UI Control的帮助太少了。SDK提供的帮助里面根本就没有资源文件的写法。这一张里面我会介绍一些控件例如Dialog,Text Listbox等等资源文件的写法。同时也会告诉大家应该到SDK的哪里才能找到这些资源的描述。

但是首先,我先介绍一下MVC架构。MVC并不是个新东西。他是Model - View - Control的缩写。在以前smalltalk中就已经开始用了。其主要的想法是在构造类的时候把显示,控制以及模型分开。Symbian对其作了小的改动。在Nokia提供的Series 90控件组(就是CKON,以后我再提CKON的时候大家要知道指得是S90的控件)中Model主要用来存储数据,以及封装对数据的操作。也就是对于对象实体的操作。View当然是负责显示。Control被抽象成一个或多个纯虚类(Mixin)其它对象通过重写虚函数来得到对象内部的状态以及控制对象。Series 90的Text Listbox类CEikTextListBox很好的说明了这个构架。比如你可以调用CEikTestListBox中的Model()函数得到一个Model的指针,然后你就可以访问其中的CDesArrayFlat数组了。

1.2 Symbian的工程文件
1.2.1工程引导文件bld.inf
这个东东其实就是一个脚本,它告诉Build环境在做Build之前需要准备或知道一些什么东西。最普通的
一种写法是:
PRJ_MMPFILES
project.mmp

这是告诉Build环境:你马上要处理的工程文件名字叫project.mmp。大家如果做比较复杂的程序可能需要同时Build所有的库,那么就在这里把你所有需要Build的工程都列出来:
PRJ_MMPFILES
project.mmp
project_lib1.mmp
project_lib2.mmp

另外的一个常用的标记是PRJ_PLATFORMS这个东东告诉编译环境,以下的这些平台(Targets)是需要编译的。你可以在这个标记的下一行列出需要的平台例如:
PRJ_PLATFORMS
WINS ARMI WINSCW
或者直接用
PRJ_PLATFORMS
DEFAULT
注意,如果你不作PRJ_PLATFORMS这个标记其效果等于PRJ_PLATFORMS DEFAULT,所以这个不是必须
的。

第三个常用标记是PRJ_EXPORTS这个东西告诉编译环境在编译之前需要把哪些文件先拷贝到指定位置。我举个简单的例子大家就知道什么意思了。比如你的工程中需要include一个第三方的*.inl的文件,那么如果编译之 前这个文件不存在就会编译不过。你可以这么写:
PRJ_EXPORTS
./nk_set.inl /epoc32/include
那么在你编译的时候,一个Perl脚本会先把你工程目录下的nk_set.inl文件拷贝到/epoc32/include目录下,然后再 编译工程。

大多数工程只要用这三个标记就可以了。还有一点小技巧这个bld.inf文件中是可以写#if #else 等等东西的。
比如:
#if defined(WINS)
..... 注意没有{}
#else
.....
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: