WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程Symbian基础知识Symbian OS 精要

Symbian OS 精要
作者:未知  来源:转载  发布时间:2006-11-30 22:16:59
一般诀窍
1.‘Symbian 开发师网络’提供大量信息资源,协助您为
Symbian OS 操作系统编写应用程序。您应经常访问
www.symbian.com/developer 网站以便获取最新的
SDK、技术资料、编码范例和白皮书。您从开发师网
络网站能够获得:
• Symbian OS‘常见问题’(FAQ) 库。这是一个对开发者
来说极有价值的信息库,涵盖了最常见的设计和编码
问题。
• 许多白皮书。其中包括《Symbian OS C++ 编码标准》。
在Symbian OS 本身的开发过程中,Symbian 设定了
若干重要的编码习惯方法和规范。《编码习惯方法白
皮书》向外部程序员解释这些习惯方法。通过采用这
些约定俗成并经过试用和验证的规范,您可以通过开
发Symbian OS 软件受益到Symbian OS 在自身开发
中获得的宝贵经验。
• Symbian OS Developer Library,标准API 参考文档、
Symbian OS 指南。
• 下载应用程序范例、应用程序库、属于Symbian OS
但不一定被装到所有手机上的‘可选’系统API、使
较新Symbian OS 版本上的API 能够在较旧版本上运
行的移植程序库等等程序工具。
• 关于调试工具和开发工具方面的信息。
• 新闻组论坛
(www.symbian.com/developer/leters/forum.html),使
您能够从Symbian 工程师和更广的开发者团体那里
获得指导。有各种不同论坛,从针对C++ 和Java 的
具体问题、到硬件和Symbian 签名等等,涉及到开
发工作的各个方面。
2. 注册并订阅Symbian 开发者网络期刊
(www.symbian.com/developer/letters/index.html) ——
该期刊通过电子邮件每月发布一次, 是了解与
Symbian 开发者相关的最新消息的最佳途径。
3. 采用Symbian OS 的移动电话生产商也拥有自己的开
发者项目。您也应该在他们的网站注册,以便获取针
对某种具体型号的电话的最新信息和诀窍。
4. 获得认证!
(www.symbian.com/developer/academy/index.html)
《Symbian 认证程序员》证书能够向雇主显示您是一
名合格的Symbian 工程师,并有助于客观地评估您
所掌握的Symbian OS 相关技术的各项能力。
5.‘Symbian 签名’(Symbian Signed)旨在推广设计
Symbian OS 应用程序的各种最佳范例。通过Symbian
签名的应用程序均遵守行业认同的质量标准并迎合网
络运营商对签名应用程序的要求。请到‘Symbian 签
名’网站(www.symbiansigned.com)获取关于
Symbian 签名的更多信息。
6. 除了Symbian 和相关生产商之外还有一个活跃的开
发者社区。请访问
www.symbian.com/developer/about/trdprtysites.html
以查找众多知名的第三方开发者网站的链接。
7. 最后,现在关于Symbian OS 的出版物日益增多。
Symbian 出版社
(www.symbian.com/developer/books/index.html)出版
的一系列Symbian OS 相关主题的书籍,目的都是帮
助您更轻松的编写更可靠的Symbian OS 代码。

设计诀窍

1. 最重要的设计诀窍是将‘引擎’代码与用户界面(UI)
代码分开,分为不同的模块。这样设计有助于您的程
序在不同用户界面系统之间的移植,Symbian OS 本
身也采用这种设计。
方法之一是在二进制级就进行这个区分。将所有非用
户界面相关代码放到独立的引擎.DLL 文件中。您的程
序中用户界面相关的代码可以链接到这个。DLL 文件,从而访问引擎获取其提供的功能。另一种方法是在源
代码级做出区分。应用程序生成为一个单一的.APP 文
件,但将‘引擎’相关代码和用户界面相关代码分到
不同的.CPP 和.H 文件中,以便于管理和调试。
编码时采用这种设计,您可以减轻移植到新的用户
界面平台时产生的负担;纯引擎代码经常可以不经
修改就在任何用户界面平台上运行。这意味着移植
到新用户界面时您只需要移植和优化已经单独分开
的用户界面层就行了。
2. 设计时要牢记地方化支持。千万不要将字符串或文字
‘硬编写’到您的源文件中——应使用Symbian OS 提
供的资源文件机制来储存字符串。
3. 应坚持使用软件开发包(SDK)和Symbian OS 发布
版本明确支持并提供文档的API。使用不受支持或
‘不推荐使用’(deprecated)的API 将给您的应用程序
带来潜在的问题—— Symbian 保留在未来的版本中更
改或者移除不应被外部开发者使用的API 的权利。
4. 不要假定所有的‘系统’文件都会出现在所有电话上。
持有Symbian OS 执照的厂商可以灵活的改制其手
机;基于同一平台的电话如果由不同的生产商生产很
可能包涵不同的支持文件——从而,比如说,如果为您想要播放的音响片段编写固定的地址,此代码将不
会保证具有良好的移植性。您至少应该考虑如果未来
的手机没有这个系统文件,您将如何处理出错状态的
问题。

编码诀窍

以下是您在编写代码时应该记住的一些一般诀窍。
1. 确保您的应用程序能够对系统关机事件做出响应。在
您的AppUi::HandleCommandL()方法中,必须要
对EEikCmdExit(以及任何特定平台相关的事件,
例如Series 60 上的EAknSoftkeyBack)做出响应。
2. 要对外来系统事件做出响应。请牢记,您的应用程序
是在一个多任务电话系统上运行,您需要将注意力集
中于刚获得的/丢失的事件上,以确保当用户获得一
个高优先级的通知时您能够做出正确响应。例如,正
打进来的电话会干扰您的应用程序的运行,这时应确
保您已保存了系统状态和数据(即:您需要对标准的
“背景”事件采取适当的行动——请参阅SDK)。一般
说来,系统框架会处理这个问题,您不需要采取任何
特殊行动——但一定要确保您没有妨碍系统框架的正
常操作。
3. 内存处理是Symbian OS 需要考虑的一个重要课题。
在这一点上,应注意电话有时会不同于模拟器。因此
在将您的应用程序呈交给“Symbian 认证签名”进行
测试之前,务必确保已在实际电话设备上测试了您的
程序。
4. 内存堆栈空间有限!应尽可能将对象放到内存堆中,
而不要放到栈里。KERN-EXEC 3 异常(panic)发生的
主要原因之一就是栈的破坏/溢出。
5. 应用程序发生异常(panic) 表明您的代码中一定有错
误。以下是一些主要、常见的错误:
• 忘记将非对象成员、被分配到堆的变量加到
CleanupStack 上。
• 将成员变量放到CleanupStack 上——这一点要千万避
免;在析构函数中将这些变量删除就可以了。
• ‘重复删除’——例如,没有正确的从CleanupStack
上Pop()出已经被销毁的对象,造成CleanupStack
以后试图再次删除它。或者使用过一个对象之后将
其删除但忘记将其值设成NULL,从而在析构函数又
试图删除一次。

[1] [2] [3]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码