承蒙很多朋友的厚爱,一直有很多朋友在本博留言询问《手把手教你Symbian开发》的出版进度问题,目前此书已经由铁道出版社正式出版: http://www.tqbooks.net/product/gb/product_detail.asp?catalogid=2&productid=1587 ,有兴趣的朋友可以订购一本,相信会物有所值的,同时也欢迎大家不吝赐教,任何错误问题都可以留言给我:)
taobao网地址:http://item.taobao.com/item.htm?id=6959954526&ad_id=&am_id=&cm_id=&pm_id=
china-pub网购买地址:http://www.china-pub.com/52374
里仁寻书网购买地址:http://www.lesn.net.cn/product.asp?id=4971
卓越网购买地址:http://www.amazon.cn/mn/detailApp/ref=sr_1_1?_encoding=UTF8&s=books&qid=1283841203&asin=B003YQQFC4&sr=1-1
附几张书中项目的演示图
前言
笔者的思考
时光荏苒,转眼间已在无线领域摸爬滚打7载有余。其间无线开发领域也从单一的J2ME平台发展到目前“诸侯争霸”的局面。Symbian、iPhone、Android、Ophone各显神通,而Symbian依靠强大的诺基亚公司,依然是这个行业的霸主。
这个行业终归会走向统一,统一这个行业的是Symbian还是后起之秀iPhone仍然是未知数,但当技术的广度达到一定程度之后是可以一通百通的,正如微软华东西区技术总监于胜泳先生所说的那样,能把Visual C++ MFC玩转的人,以后使用什么平台都有大将之风。
笔者的建议
笔者在J2ME、Symbian平台上先后接触了Android和iPhone平台的开发工作,这些平台无论在界面架构还是底层通信或者数据持久存储方面都很类似。所以,如果精通Symbian,即便以后从事其他平台的开发,也是可以一通百通的,这也是本书写作的目的。
本书更多地从程序架构、底层原理上深入讲解相关知识点,在学习本书的过程中,建议读者把书中的实际例子反复实践并把实践过程中遇到的一些技术难题、心得体会及时总结下来,这无疑是个很好的习惯。笔者在写作本书的过程中,对于一些很基础的知识一带而过,因为这些知识读者很容易找到相关的资料,所以本书基本上没有累赘的部分,建议读者能够逐章学习,无论是在校大学生还是有工作经验的软件工程师,相信这些知识都能对你有所帮助。
笔者致谢
在本书的写作过程中,得到很多人的帮助,如前微软华东西区技术总监于胜泳先生、禹磊的CEO赵菲先生、千尺下载的李斌先生、掌讯通的程金良先生等,笔者在这里一并致谢。
本书问题指正途径
尽管笔者已经对本书的内容进行了反复审核,但难免存在疏漏和不足,笔者会在自己的博客http://blog.csdn.net/dongfengsun 上对本书进行维护,也欢迎同行不吝指教。
目录
第1章 Symbian开发基础 1
1.1 Symbian 简介 1
1.1.1 Symbian基金会 1
1.1.2 主流手机操作系统 1
1.1.3 Symbian OS的特点 2
1.1.4 软件开发包(SDK)版本的选择 3
1.1.5 诺基亚手机系列 3
1.1.6 S60的SDK版本与对应Symbian OS版本 3
1.1.7 特别的Symbian OS 9.1版本 4
1.2 搭建Symbian集成开发环境 4
1.2.1 搭建集成开发环境的步骤 5
1.2.2 不同版本SDK在命令行下的切换 6
1.2.3 解决安装过程中产生的问题 7
1.3 Symbian S60应用程序框架简介 8
1.3.1 创建S60应用程序必用函数 8
1.3.2 AppUi按键处理方法 9
1.4 Hello World展示应用程序框架 10
1.4.1 Series 60应用程序需要包含的文件 10
1.4.2 Hello World程序顺序图 10
1.5 Hello World程序的资源文件 12
1.5.1 资源定义 12
1.5.2 包含文件 12
1.5.3 HelloWorldBasic.hrh文件 12
1.5.4 定义应用程序资源 13
1.5.5 菜单栏资源 13
1.5.6 自定义CBA 14
1.5.7 自定义CBA的注意事项 15
1.5.8 只显示左右按键菜单 15
1.6 打包并安装Symbian应用程序 16
第2章 Symbian OS特有知识 17
2.1 Symbian OS中的描述符系统 17
2.1.1 描述符概述 17
2.1.2 描述符类型 17
2.1.3 HBufC堆描述符 18
2.1.4 RBuf描述符 18
2.1.5 指针描述符与字符串对应关系 19
2.1.6 宏 19
2.1.7 选择描述符的基本原则 19
2.2 异常处理机制 20
2.2.1 ANSI C++的标准异常处理 20
2.2.2 Symbian的异常处理 20
2.2.3 TRAP/TRAPD宏的诸多陷阱 21
2.2.4 Symbian OS的异常处理机制 22
2.2.5 清除栈与TRAP/TRAPD宏 22
2.2.6 清除栈的原理 22
2.2.7 异常退出函数 23
2.2.8 函数可能发生异常退出的情况 24
2.2.9 异常退出函数的错误写法 25
2.2.10 正确书写异常退出函数的两种方法 25
2.3 二阶段构造 26
2.3.1 ANSI C++中的构造函数机制 26
2.3.2 二阶段构造机制 27
2.3.3 二阶段构造关联方法:NewL()和NewLC() 27
2.3.4 清除栈通过调用PopAndDestroy()函数销毁对象 28
2.4 活动对象(active object) 28
2.4.1 活动对象和活动对象框架 28
2.4.2 AO框架容易被忽略的地方 29
2.4.3 CActiveScheduler的调度原则 31
2.4.4 使用活动对象注意事项 34
2.4.5 Symbian OS中提供的异步函数 34
2.4.6 产生信号游离的情况 35
2.5 集合类框架 36
2.5.1 RArray和RPointerArray中的常用方法 36
2.5.2 使用集合时的内存管理问题 38
2.5.3 CArrayFixFlat和CArrayFixSeg的例子 39
2.6 ECOM组件 42
2.6.1 ECOM组件概述 43
2.6.2 ECOM框架 43
第3章 Symbian开发常用技巧和模块 52
3.1 Symbian OS智能指针 52
3.1.1 智能指针概述 52
3.1.2 剖析智能指针的原理 52
3.2 Symbian OS打印调试信息 57
3.2.1 宏判断代码 57
3.2.2 实现文件 57
3.2.3 控制日志信息的打印方法 58
3.2.4 Panic的细节显示 59
3.2.5 断言机制检测程序bug 60
3.3 Symbian OS常用STL 61
3.3.1 最常用的STL::string类 61
3.3.2 实现通信队列缓冲 69
3.3.3 简单介绍实现通信引擎 72
第4章 Symbian个人记事本 74
4.1 预备知识 74
4.1.1 Symbian OS图形用户界面架构 74
4.1.2 Symbian图形用户界面框架的3种体系结构 74
4.1.3 用Visual Studio .NET 2003创建新项目 75
4.1.4 S60 EIKON Control based application(HelloWorld)框架概述 75
4.1.5 S60 EIKON Control based application(HelloWorld)框架类组成 75
4.1.6 编写简单控件函数 76
4.1.7 基于“传统的Symbian OS控件体系结构”的多视图管理 79
4.1.8 基于“视图体系结构”的多视图管理 80
4.1.9 Symbian 客户端/服务器架构 81
4.1.10 Symbian文件系统介绍 82
4.1.11 Symbian文件系统接口 83
4.1.12 应用本地化 84
4.1.13 ListBox控件 86
4.1.14 Symbian对话框控件概述 88
4.1.15 Symbian OS对话框架构 89
4.1.16 对话框资源的属性 89
4.1.17 自定义对话框 90
4.1.18 控件窗体 91
4.1.19 控件事件响应机制 91
4.1.20 Symbian自定义对话框 92
4.1.21 使用Doxygen生成项目文档 94
4.2 设计要求 99
4.3 类设计 99
4.4 代码实现 100
4.4.1 程序打包及运行效果 100
4.4.2 实现与代码分析 101
4.5 实践 114
第5章 Symbian连连看游戏 115
5.1 预备知识 115
5.1.1 复合控件示例 115
5.1.2 在复合控件中创建编辑框 116
5.1.3 在复合控件中放置其他自定义控件 117
5.1.4 子控件的实现 119
5.1.5 复合控件总结 120
5.1.6 复合控件坐标问题 120
5.1.7 按键处理机制简介 121
5.1.8 按键事件处理 121
5.1.9 按键响应时间 123
5.1.10 硬编码处理左右软键 124
5.1.11 Symbian OS键码 125
5.1.12 映射左右软键 129
5.1.13 Symbian全屏处理 130
5.1.14 Symbian DSA和屏幕双缓冲机制 133
5.1.15 屏幕刷新及事件触发 136
5.1.16 Symbian线程简介 138
5.1.17 “活动对象”代替多线程的优点 138
5.1.18 Symbian线程编程步骤 139
5.1.19 Symbian音频技术 143
5.2 设计要求 150
5.3 类设计 150
5.4 代码实现 151
5.4.1 程序打包及运行效果 151
5.4.2 实现与代码分析 152
5.5 实践 162
第6章 Symbian手机聊天程序 163
6.1 预备知识 163
6.1.1 Symbian套接字编程简介 163
6.1.2 Symbian套接字编程流程 163
6.1.3 相关的API接口 164
6.1.4 Symbian套接字接收数据问题 165
6.1.5 Symbian Socket和Java通信协议 166
6.1.6 Java服务器端 167
6.1.7 Java客户端 168
6.2 设计要求 169
6.3 类设计 170
6.3.1 Symbian客户端设计 170
6.3.2 Java服务器端设计 171
6.3.3 Java客户端设计 171
6.4 代码实现 172
6.4.1 程序打包及运行效果 172
6.4.2 Java服务器端的实现 173
6.4.3 Java客户端的实现 176
6.4.4 Symbian客户端的实现 184
6.5 实践 188
第7章 Symbian简单下载器 189
7.1 预备知识 189
7.1.1 HTTP协议简介 189
7.1.2 Symbian HTTP的通信机制 189
7.1.3 Symbian HTTP通信步骤 190
7.1.4 配置模拟器通信环境 193
7.1.5 Symbian IAPs简介 194
7.1.6 Symbian IAPs编程 195
7.1.7 IAPs选择框的控制 196
7.1.8 二次遍历IAPs表 197
7.1.9 程序创建可用的IAPs 199
7.2 设计要求 208
7.3 类设计 208
7.4 代码实现 209
7.4.1 程序打包及运行效果 209
7.4.2 实现与代码分析 211
7.5 实践 217
第8章 Symbian蓝牙聊天程序 218
8.1 预备知识 218
8.1.1 Symbian蓝牙通信简介 218
8.1.2 Symbian蓝牙通信接口 218
8.1.3 Symbian蓝牙通信编程步骤 219
8.1.4 Symbian蓝牙通信编程要点 222
8.1.5 Symbian状态面板简介 227
8.1.6 Symbian状态面板操作方法 228
8.1.7 Symbian状态面板布局 229
8.1.8 导航面板概述 230
8.1.9 导航面板的简单开发 230
8.1.10 访问默认的导航面板控件 232
8.1.11 从资源产生一个带Label控件的导航面板 232
8.1.12 操作Decorator按钮 233
8.1.13 监听Decorator事件 233
8.1.14 利用导航面板控件栈机制 234
8.1.15 从资源文件动态地创建一个带Label的Decorator 235
8.2 设计要求 236
8.3 类设计 236
8.4 代码实现 237
8.4.1 程序打包及运行效果 237
8.4.2 实现与代码分析 237
8.5 实践 237
第9章 移植连连看游戏到S60 3rd平台 238
9.1 预备知识 238
9.1.1 S60 3rd概述 238
9.1.2 S60 3rd和S60 2nd的主要差别 238
9.1.3 Symbian UID 240
9.1.4 UID3移植需要修改的地方 240
9.1.5 Symbian能力模型 241
9.1.6 把S60 2nd程序移植到S60 3rd注意的问题 242
9.1.7 从S60 2nd移植程序到S60 3rd需要做的改动 246
9.1.8 编写同时适合S60 3rd和S60 2nd的代码 250
9.1.9 如何签名S60 3rd应用程序 251
9.2 设计要求 252
9.3 类设计 252
9.4 代码实现 252
9.4.1 程序打包及运行效果 252
9.4.2 实现与代码分析 252
9.5 实践 259
第10章 Symbian通讯录开发 260
10.1 预备知识 260
10.1.1 Symbian OS手机的通迅录存储方式 260
10.1.2 Symbian OS通迅录模型 260
10.1.3 vCard格式MIME规范(RFC 1521) 260
10.1.4 操作通迅录数据库的系统API 261
10.1.5 常见通迅录数据库操作 262
10.1.6 S60平台封装的通讯录操作接口 265
10.1.7 Symbian自定义控件总结 270
10.1.8 自定义控件必须实现的函数 271
10.1.9 控件管理容器概述 271
10.1.10 封装容器控件 272
10.1.11 添加子控件 278
10.2 设计要求 284
10.3 类设计 284
10.4 代码实现 284
10.4.1 程序打包及运行效果 284
10.4.2 实现与代码分析 285
10.5 实践 287
分享到:
相关推荐
《基于Symbian OS的手机开发与应用》pdf电子版,共4个rar,作者:何伟//杨宗德//张兵,本书主要介绍基于Symbian平台的控制台应用程序和GUI应用程序的开发,内容涵盖开发平台的搭建、内存管理、描述符、动态数组、...
Symbian系统是由Symbian公司开发的实时操作系统,主要应用于诺基亚、索尼爱立信等品牌的高端智能手机。它的开放性和可定制性吸引了大量的开发者,使得Symbian平台上的应用生态一度繁荣。 1. **Symbian SDK与开发...
本教程聚焦于Symbian S60平台的手机开发,通过实例代码来教授如何在这个平台上进行程序设计。 一、Symbian系统架构与API Symbian OS是一个微内核操作系统,它采用了层次化的模块化设计。开发者主要打交道的是...
《Symbian手机开发标准教程》是一本深入探讨Symbian操作系统平台下手机应用程序开发的专业教程。Symbian操作系统曾是智能手机市场的主导力量,尤其在诺基亚等品牌手机中广泛应用。本教程涵盖的知识点广泛且深入,...
《Symbian手机应用开发标准教程》是一本深入解析Symbian操作系统下手机应用程序开发的专业书籍,由人民邮电出版社于2009年4月出版。这本书旨在为开发者提供一个全面、系统的Symbian应用开发学习路径。源码部分是书中...
《Symbian手机开发应用深度解析》 Symbian操作系统,作为早期智能手机领域的主导平台,为开发者提供了丰富的功能和广阔的创新空间。华清远见提供的培训资料深入浅出地揭示了Symbian手机应用开发的核心技术和实践...
《基于Symbian OS 的手机开发与应用》光盘源码是针对Symbian操作系统进行移动设备开发的一份宝贵资源,由何伟、杨宗德和张兵等专家编著。Symbian OS曾是智能手机领域的主导操作系统,尤其是在2000年至2010年间,它在...
本书吸收了Symbian 工程师的丰富经验,为使用Symbian 操作系统v9.0 及其以上版本的手机 编写C++应用程序提供了完整的基础知识体系。它不会讲授关于开发Symbian 操作系统应用程序 的全部知识,没有任何一本书能够做到...
《Symbian手机开发平台Qt环境搭建操作指南》 在Symbian平台上开发Qt应用程序,首先需要搭建一个完整的开发环境。这个环境主要包括三个关键部分:基本工具、Symbian SDK和Qt for Symbian SDK。以下将详细阐述每个...
作 者:刘昕宇 陈晓光 刘斌著出 版 社:清华大学出版社 出版日期:2008-11 内容简介本书由3位外企资深Symbian手机开发专家历时一年精心编写,主要介绍基于Symbian操作系统S60系列的应用程序开发。书中绝大部分内容都...
本教程将聚焦于Symbian手机应用开发,通过一系列实例源代码来深入理解Symbian OS的应用程序设计和实现。 首先,我们需要了解Symbian OS的基本架构。Symbian系统基于微内核设计,具有多任务、实时性和安全性等特点。...
作 者:刘昕宇 陈晓光 刘斌著出 版 社:清华大学出版社 出版日期:2008-11 内容简介本书由3位外企资深Symbian手机开发专家历时一年精心编写,主要介绍基于Symbian操作系统S60系列的应用程序开发。书中绝大部分内容都...
作 者:刘昕宇 陈晓光 刘斌著出 版 社:清华大学出版社 出版日期:2008-11 内容简介本书由3位外企资深Symbian手机开发专家历时一年精心编写,主要介绍基于Symbian操作系统S60系列的应用程序开发。书中绝大部分内容都...
《Symbian手机开发与应用》是一份针对Symbian操作系统的深度学习资源,由华清远见教育集团提供。这份资料全面涵盖了Symbian平台的各个方面,旨在帮助开发者理解和掌握在Symbian系统上进行应用开发的技术和技巧。 ...
Symbian OS C++ 手机应用开发(第一卷)续3
移动开发系列丛书 symbian os c++ 手机应用开发(第二卷) 【美】Richard Harrison 等著 周良忠 王伯欣 译 人民邮电出版社
出版于2009年的这本书,恰逢Symbian系统在全球智能手机市场占据主导地位的时期,它为读者提供了当时最新的Symbian开发知识。书中不仅包含了Symbian应用开发的基础理论,还通过一系列实例代码,让读者能够动手实践,...
基于Symbian OS的手机开发与应用实践配带源代码 基于Symbian OS的手机开发与应用实践配带源代码.rar 基于Symbian OS的手机开发与应用实践配带源代码.rar 基于Symbian OS的手机开发与应用实践配带源代码.rar