伯乐共勉

讨论。NET专区
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文章分类 -  symbian

研究探讨SYMBIAN。
摘要:Symbian OS支持多线程, 但是用得很少, 因为官方建议尽可能使用Active Object代替。 我们将在下一课讲解Active Ojbect 和推荐使用它的原因。 考虑对于 普通的程序员来说多线程是一个要熟悉的多的概念, 我们在这一课将通过一个很简单的例子来介绍它在Symbian OS中的实现。 首先, RThread 类代表线程,我们可以通过这个类来创建,启动,停止,关闭线程,它... 阅读全文

posted @ 2007-02-09 17:46 伯乐共勉 阅读(272) 评论(0) 推荐(0)

摘要:本文简介Descriptor。 Symbian OS 中不使用我们所熟悉的c 字符串(char*) 或者c++ 的string。 Symbian 的字符串是通过descriptor实现的。我们的第一个Symbian 程序,文字版Helloworld中是这样使用的: _LIT(KHelloWorldText,"Hello world!n");console->Printf(KHelloWorld... 阅读全文

posted @ 2007-02-09 17:37 伯乐共勉 阅读(171) 评论(0) 推荐(0)

摘要:在创建实例的时候Symbian C++使用 new (ELeave) 来代替普通的 new , 比如:CBar *pBar = new (ELeave) CBar; 这个用法是考虑到手机特殊的属性:内存一般较小, 经常会有内存不足的情况出现。 在pc上如果内存不足我们就会退出程序, 但是在手机不能那样频繁的退出, 所以内存不足被划分为异常, 需要离开. 下面这个函数就会在内存不足的时候在A行离... 阅读全文

posted @ 2007-02-09 17:34 伯乐共勉 阅读(177) 评论(0) 推荐(0)

摘要:leave (不知该怎么翻译,就先叫离开吧) 这个词我们在第二课提到过, 知道它是Symbain版本的异常处理。 这一课我们详细讲解它的意义和用 法。 首先我们要明白为什么要离开? 当程序运行到一个地方无法正常继续的时候, 比如内存耗尽, 或者当前状态无法进行某个操作的时候我们不能简单的退 出程序,或者忽略这些错误。 前者使得界面不够友好, 而后者可能导致不可估计的问题。 所以我们需要在这一点上离... 阅读全文

posted @ 2007-02-09 17:21 伯乐共勉 阅读(213) 评论(0) 推荐(0)

摘要:这一课我们讲解mmp文件,pkg文件, 以及如何用makesis制作sis文件用来安装程序到手机上。 开 始之前,有必要提一下Symbian OS程序的目录规范, 你可以把所有头文件,原文件,mmp文件,资源文件等都放到一个目录下, 但是为了更有效的 使用,一般把源文件放在/src下, 头文件放在/inc, bld.inf,mmp文件放在/group, sis, pkg文件放在/sis下。... 阅读全文

posted @ 2007-02-09 17:20 伯乐共勉 阅读(855) 评论(0) 推荐(0)

摘要:图形界面的HelloWorld比文字版复杂了许多! 做过windows图形和命令行程序的人们应该可以很容易的理解这一点。这个Helloworld 一共有4个类, 他们是Symbian OS中任何图形程序都不可少的4个基本类。他们建立了图形界面程序的基本框架, 使得程序员们很容易就知道某些代 码应该放在什么地方, 比如绘图的代码就应该放在View里边, 同样当我们去读一个程序的时候, 如果我们在意的... 阅读全文

posted @ 2007-02-09 17:18 伯乐共勉 阅读(208) 评论(0) 推荐(0)

摘要:Symbian OS 使用的是面向对象的C++, 但是又和标准的C++有一些区别。 比如Symbian OS没有标准的异常处理 (Exception), 因为设计Symbian OS的时候还C++还没有把异常处理标准化。 所以Symbian设计了自己得异常处理机制: TRAP, leave. 另外就是今天要讲的基本类型。 Symbian 基本上不使用任何标准的C++基本类型, 众所周知,不同的C... 阅读全文

posted @ 2007-02-09 17:08 伯乐共勉 阅读(263) 评论(0) 推荐(0)

摘要:Symbian OS是当前应用最为广泛的smart phone操作系统。 Nokia,Panasonic,Siemens, Sony Ericsson的很多手机都是基于这个系统的。 可惜国内关于Symbian OS 开发的资料实在很少。 所以我打算根据自己的(浅薄)的 经验写一套初级教程,让更多的人了解Symbian OS. 说起Symbian OS, 大概很多人都会想到Nokia Ser... 阅读全文

posted @ 2007-02-09 17:02 伯乐共勉 阅读(296) 评论(0) 推荐(0)

摘要:计算机界的民间传说在谈到“mix-ins”的起源时,普遍认为这一概念最早源于Symbolic's Flavors——一个早期的面向对象编程系统。 它的设计者显然从“史蒂夫的冰淇淋客厅”(麻省理工学院的学生们特别喜欢的一个冰淇店)中获得了灵感,顾客们在那里选择不同冰淇淋的风味(香草,草莓,巧 克力等等)然后再加入一些混合物(坚果, 奶油软糖, 巧克力碎屑等等)。 当谈到多重继承时,这就意味着在基... 阅读全文

posted @ 2007-02-09 16:59 伯乐共勉 阅读(217) 评论(0) 推荐(0)

摘要:前缀“R”意为“资源(Resource)”,R类通常是指向一个外部资源的句柄,例如一个文件服务会话。和C类不同的是,这里没有相应的RBase类, 所以一个典型的R类通常有一个构造函数来设定它的资源句柄为零,并显示当前资源为空。不要企图在构造函数中初始化资源句柄,因为这样可能会失败,而构造函 数中是禁止产生leave的(参见第4章)。 可以使用R类提供的函数获取R类对象提供的资源,诸如Open(... 阅读全文

posted @ 2007-02-09 16:52 伯乐共勉 阅读(224) 评论(0) 推荐(0)

摘要:C类 C前缀[1]的类皆由CBase类(定义于e32base.h)派生(直接或间接)。CBase类通过继承确保了所有的C类都具有如下两个特征。首先,CBase有一个虚析构函数,所以C类对象都应该通过删除CBase的指针进行销毁。通常清洁栈就使用这一方法,在将C类对象压入清洁栈时需要重载调用CCleanupStack::PushL(CBase* aPtr)函数。 如果对对象调用CClean... 阅读全文

posted @ 2007-02-09 16:24 伯乐共勉 阅读(171) 评论(0) 推荐(0)

摘要:T类的功能非常类似于ANSI C++的内部数据类型,因此它们的前缀与上面所说的typedefs为同一个字母(“T”为“Type”)。和所有的内部数据类型一样,它们也没有析构函数,所以T类也不应包含任何有析构函数的成员数据。T类中可以包含的数据成员如下: “‘plain ol’ data”(内部类型)及对其它T类对象。 指针和引用(reference) “uses a”关系... 阅读全文

posted @ 2007-02-09 16:17 伯乐共勉 阅读(171) 评论(0) 推荐(0)

摘要:1、C类必须有析构函数,这是CBase的一个虚函数。 2、C类的构造函数和ConstructL()必须为protect或private类型的成员函数 3、在C class中必须有一个NewLC()函数,除非它是嵌套类。NewL()是可选的,并且总是根据NewLC()来实现。 4、NewL()和NewLC()在c class中必须是static函数。 5、C类通过指针和引用来传递。 6、拷贝构造函... 阅读全文

posted @ 2007-02-09 15:44 伯乐共勉 阅读(131) 评论(0) 推荐(0)

摘要:第一篇:Symbian UI 程序框架 Symbian UI 程序的框架基本上是统一的。大家只要学习一种简单的框架就可以进行大部分的Symbian开发了。我这里先介绍一个概念。 1.1 MVC 架构 Symbian 基本上使用MVC架构来搭建控件。Symbian UI程序设计主要讲究的也是如何使用控件。而No kia没有做好的一个方面就是有关 UI Control的帮助太少了。SDK提供的帮助里... 阅读全文

posted @ 2007-02-09 15:43 伯乐共勉 阅读(350) 评论(0) 推荐(0)

摘要:第一篇:Symbian开发环境的建立 这里我不介绍《正确建立Symbian开发环境的方法Nokia版》这贴中的部分,我想说说为什么我要强调大家都使用Nokia建立Symbian开发环境的道理。 1.1 为什么要建立虚拟分区 我希望大家结合着《正确建立》一文读这篇文章。上文中强调大家一定要写一个bat文件,其中包括这么几行: @echo off subst z: d:\SymbianDev\S90\... 阅读全文

posted @ 2007-02-09 15:34 伯乐共勉 阅读(243) 评论(0) 推荐(0)

摘要:作者:蓝色忧郁 日期:2006-08-10 字体大小: 小 中 大 1.1 SymbianOS的六大特性 看到这里,大家一定会有所思,这难道又是一篇垃圾文?请大家不要急着唾弃我先,看看再说哦。 1、操作系统是运行在ROM上的 2、系统是运行在电池驱动的设备上的 3、完全是面向对象的 4、基于组件的设计 5、被设计成确保用户的数据不会丢失 6、简单的UI系统 Symbian 是真正的微核操... 阅读全文

posted @ 2007-02-09 15:32 伯乐共勉 阅读(168) 评论(0) 推荐(0)

摘要:1:调用可能异常退出的函数时,考虑如果程序在该处退出,将发生什么问题,必要时清理API函数。2:任何游可能发生异常退出的函数应该以L结尾3:使用(ELeave)来实例化对象。但是要记住,这些代码这时也会异常退出。4:始终只将一个堆类声明为一个指针,并通过new来创建堆类,决不以自动变量方式声明或者实例化堆类。5:如果调用一个以LC结尾的函数,必须从清理栈弹出由该函数返回的指针,否则调用函数退出时,... 阅读全文

posted @ 2007-02-09 14:17 伯乐共勉 阅读(134) 评论(0) 推荐(0)

摘要:作者:zhaotaob… 文章来源:zhaotaobenny 更新时间:2007-1-12Symbian提供了文件服务器(RFile)和文件会话(RFs)来支持文件操作。可以像PC一样,Symbian也支持长文件名,但是不支持 "."和".."。Symbian提供了一个TFileName类来表示文件名,其定义是:typedef TBuf TFileName KMaxFileNam... 阅读全文

posted @ 2007-02-09 11:52 伯乐共勉 阅读(1164) 评论(0) 推荐(0)

摘要:一般诀窍 1.‘Symbian 开发师网络’提供大量信息资源,协助您为Symbian OS 操作系统编写应用程序。您应经常访问www.symbian.com/developer 网站以便获取最新的SDK、技术资料、编码范例和白皮书。您从开发师网 络网站能够获得:• Symbian OS‘常见问题’(FAQ) 库。这是一个对开发者来说极有价值的信息库,涵盖了最常见的设计和编码问题。• 许多白皮书。其... 阅读全文

posted @ 2007-02-09 11:46 伯乐共勉 阅读(680) 评论(0) 推荐(0)

摘要:这些宏被定义在 e32def.h 头文件中,如下: #define GLREF_D extern#define GLDEF_D#define LOCAL_D static#define GLREF_C extern#define GLDEF_C#define LOCAL_C static 后缀 _D 和 _C 是... 阅读全文

posted @ 2007-02-09 10:49 伯乐共勉 阅读(260) 评论(0) 推荐(0)