承蒙很多朋友的厚爱,一直有很多朋友在本博留言询问《手把手教你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 操作系统v9.0 及其以上版本的手机 编写C++应用程序提供了完整的基础知识体系。它不会讲授关于开发Symbian 操作系统应用程序 的全部知识,没有任何一本书能够做到...
作 者:刘昕宇 陈晓光 刘斌著出 版 社:清华大学出版社 出版日期:2008-11 内容简介本书由3位外企资深Symbian手机开发专家历时一年精心编写,主要介绍基于Symbian操作系统S60系列的应用程序开发。书中绝大部分内容都...
作 者:刘昕宇 陈晓光 刘斌著出 版 社:清华大学出版社 出版日期:2008-11 内容简介本书由3位外企资深Symbian手机开发专家历时一年精心编写,主要介绍基于Symbian操作系统S60系列的应用程序开发。书中绝大部分内容都...
作 者:刘昕宇 陈晓光 刘斌著出 版 社:清华大学出版社 出版日期:2008-11 内容简介本书由3位外企资深Symbian手机开发专家历时一年精心编写,主要介绍基于Symbian操作系统S60系列的应用程序开发。书中绝大部分内容都...
Symbian OS C++ 手机应用开发(第一卷)续3
关于Symbian os s60平台开发标准教程的实例代码,可以帮助大家快速掌握symbian s60平台的手机编程
移动开发系列丛书 symbian os c++ 手机应用开发(第二卷) 【美】Richard Harrison 等著 周良忠 王伯欣 译 人民邮电出版社
基于Symbian OS的手机开发与应用实践配带源代码 基于Symbian OS的手机开发与应用实践配带源代码.rar 基于Symbian OS的手机开发与应用实践配带源代码.rar 基于Symbian OS的手机开发与应用实践配带源代码.rar
Symbian手机开发应用:华清远见培训资料2!
Symbian.OS.C++手机应用开发(第三卷)PDF,真真的PDF上传文件,要的下载,文件共8个,请一一下载,下载后解压就可以了。 学习Symbian OS 的超经典作品。
<Symbian手机开发标准教程>源代码
2009年4月人民邮电出版社:《Symbian手机应用开发标准教程》源码
2. Symbian开发入门第一步 3. S60v1.2 N-GAGE QD 开发环境搭建(VC6版) 4. S60十大优秀软件 5. S60 系统手机类型及所用操作系统 6. S60 和 Symbian OS 的关系 7. S40与S60的区别 8. 诺基亚S60手机隐藏代码 9...
Symbian手机应用开发标准教程的实例源代码
Series 60 应用程序开发 塞班学习经典书籍,s60开发的两本书,分别为4个和3个7zip分压缩包 Series 60 应用程序开发.pdf Symbian OS C++手机应用开发(第三版),用7zip分压的包,要用7zip打开就行(.001到.004的文件直接...
SymbianOS概述 SymbianSDK及其开发环境 Symbian软件开发
Symbian手机开发应用教程,windows embeded CE6.0
Series 60是在Symbian OS下进行智能手机应用程序开发的主要平台,它拥有广大的用户群。本书是诺基亚与EMCC公司共同推出的一本Series 60开发的权威参考书,为Symbian OS下的C++编程提供全面指导。. 全书共13章,循序...
本文档包含 1、Qt for Symbian 的开发环境主要由三部分组成:基本工具;Symbian SDK;Qt for Symbian SDK, 2、Windows 7(Ultimate edition) 注意事项 3、Nokia Qt SDK开发环境使用