- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SymbianC开发
Symbian C++ 开发 Symbian OS分层 UI框架(UI工具包、UI应用程序框架) 应用程序服务(PIM APP服务、Office引擎、其他App服务、消息传送App服务、数据同步服务、PIM App支持、消息传送程序支持、网络程序支持、应用程序框架、打印支持) OS服务(通用服务、多媒体、通用库、通话服务、串行通信与短程连接服务、网络服务、图形服务、连接性服务) 基本服务(低层库和框架、文本模式Shell、用户库与文件服务器、用户端硬件抽象) 内核服务和硬件接口(内核服务、文化区域、逻辑设备驱动器、主板支持包、物理设备驱动器) 每一层均抽象下一层的复杂性,并为上一层提供服务 每一层中,组件均按照功能封装(组合在集合里) OS服务层通过把集合组合成更广泛的包或相似技术套件,进一步进行封装。 编写优秀的Symbian OS代码 一般技巧 设计技巧 编码技巧 测试技巧 调试技巧 一般技巧 Symbian开发人员网络站点(/developer)提供了有价值的信息来帮助编写应用程序。 Symbian的授权使用者还可以运行开发者相关的程序。 Symbian开发人员网站提供了Symbian OS FAQ数据库(/developer/techlib/faq.html),对于开发者是无价的信息资源,它涵盖了设计和编码中最经常问到的问题。 设计技巧 最重要的Symbian OS设计技巧就是将“引擎”和UI代码分置在不同的模块中。 要始终注意,让设计支持本地化。 注意坚持使用有说明文档并得到SDK和Symbian OS版本支持的API。 编码技巧 保证应用程序可以响应系统关闭事件。 要响应输入的系统事件。 Symbian OS上的内存处理是一个关键问题。 KERN-EXEC3崩溃通常是栈溢出的征兆——按照Symbian SDK的建议,优先使用堆来代替栈。 低内存条件下,完美处理错误很重要——一个应用程序出现错误,表明代码中的确存在漏洞。 对于具有Close()方法的R类,总是使用CleanupClosePushL()。 另外,记住清除栈是一种可扩展机制、可以用于异常退出时清除任何东西。 在删除成员变量HBufC后,总是将其置为NULL。 如果有理由使用自己的TRAP,那么不要忽略所有的错误。 不要等待通过PushL()将对象清入清除栈。 注意在名称中带后缀C的函数自动将对象放入清除栈中。 两阶段构造是Symbian OS内存管理的一个关键部分。 代码中不要使用_L()宏。 当使用描述符作为函数的参数时,默认时使用基类。 活动对象(AO)是Symbian OS功能中的一个关键部分。 尽可能使用活动对象框架。 对于即时性游戏,编写忙碌的应用程序时,ViewSrv11错误是一种危险。 不需要利用HBuf::Des()来使用HBufC。 使用标准应用程序.INI文件功能时,确认在流中写入了版本号信息。 测试技巧 最重要的测试技巧是在模拟器下退出应用程序,而不是仅仅是关闭整个模拟器。 另一个重要的技巧是,保证正确的平台依赖信息在部署前就已包含在.PKG文件中。 编写.PKG文件时,还要保证在适当的地方使用!:\语法。 调试技巧 编写和调试新控制类时,将iEikonEnv-WsSession().SetAutoFlush(ETrue);放入AppUi的ConstructL()函数中。 如果关闭时应用程序由于内存泄漏而出错,将泄漏地址转换为CBase*,通常可得到泄漏对象的类型。 对Symbian OS开发者很重要的一个新增功能是目标式调试。 开发人员资源 Symbian OS软件开发包 取应用程序的UID Symbian OS开发人员工具 支持论坛 Symbian OS开发者培训 开发者组织链接 Symbian OS参考书 开放源代码项目 Symbian OS软件开发包(SDK) UIQ(/developer) Nokia Series 90() Nokia Series 60() Nokia Series 80() 取应用程序的UID UID是一个32位数,在需要时从Symbian获得。 发送email至uid@,标题为UID request 保留范围的UID:0– 0x0fffffff Symbian OS开发人员工具 AppForge Borland Forum Nokia Metrowerks Sun Microsystems Texas Instruments Symbian DevNet工具 编译生成概述 编译器和IDE 命令行生成 使用IDE 编译器和IDE Borland C++ Builder 6移动版和Borland C++ BuilderX移动版 Metrowerks CodeWarrior Micr
您可能关注的文档
- PICC导管维护中的MARSI.pptx
- PLC-5培训教程.ppt
- PMC主要工作流程和职责.ppt
- POS机及收单业务基础培训.ppt
- PMC 物控 生管 培训教材.ppt
- PowerPoint2010基础教程.pptx
- PP-R给水管施工方案及技术措施.docx
- PowerMILL加工策略图片.ppt
- PPP融资模式及案例汇总.ppt
- PPT2010电子教案.ppt
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)