`
izuoyan
  • 浏览: 8882055 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

《例学Symbian手机开发》已由铁道出版社出版

阅读更多

承蒙很多朋友的厚爱,一直有很多朋友在本博留言询问《手把手教你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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics