Subject: Symbian入门指南第三章:深入介绍Helloworld例程
Lee
Administrator
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 0
Credits 18567
Posts 133
Money 189
Reading Access 200
Registered 13-3-2007
Status Offline
Post at 17-5-2007 12:24  Profile | Blog | P.M. 
Symbian入门指南第三章:深入介绍Helloworld例程

第一篇: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

文章来源:移动技术网




有其他问题请加入Symbian开发群参与讨论:群 ①:623041已满,群②:36865776已满 请加群③:76404484
Top
Fang_W
Newbie
Rank: 1



UID 485
Digest Posts 0
Credits 2
Posts 4
Money 14
Reading Access 10
Registered 12-9-2007
Status Offline
Post at 12-9-2007 16:27  Profile | P.M. 
谢谢分享,没有后文了吗?
没看过瘾啊!:Q
Top
 


All times are GMT+8, the time now is 5-9-2010 14:53

CopyRight © Symbianx.cn 2007 Powered By Discuz! 5
Clear Cookies - Contact Us - Symbian OS系统[S60,UIQ]开发中文翻译论坛 - Archiver

本站原文版权归原文作者所有,本站译文版权归本站所有,如需转载请注明原文和译文出处,否则追究法律责任