第1章 Symbian中的C/C++语法 1
1.1 C/C++概述 2
C语言 2
C++语言 2
C/C++注释语句 3
1.2基本数据类型 3
整型 3
浮点型 5
标识符 5
常量和变量定义 6
类型转换 8
Symbian中的基本类型 9
Symbian中的命名约定 11
1.3运算符 13
算术运算符 13
关系运算符 15
逻辑运算符 15
位运算符 16
逗号运算符 19
1.4条件语句 19
if语句 20
if-else语句 22
if-else-if条件语句 23
三目运算符 24
1.5分支语句 25
1.6循环语句 26
while循环 27
do-while循环 27
for循环 28
跳转语句 29
1.7其他数据类型 31
数组 31
枚举 32
结构 33
1.8指针 34
指针的基本概念 35
数组的指针 35
指针数组 36
结构指针变量 37
1.9函数 37
实现函数 37
指针类型作为函数参数 39
函数的指针 40
指针型函数 41
1.10本章小结 42
第2章 面向对象的编程技术 43
2.1面向对象概述 44
2.2类和对象 45
类的定义 45
类的使用 46
this指针 47
静态成员 49
2.3构造函数和析构函数 51
构造函数 51
析构函数 52
2.4继承性 54
2.5成员函数和运算符的重载 58
成员函数的重载 58
运算符的重载 59
2.6多态性 62
成员的隐藏 62
虚函数和多态性 66
纯虚函数和抽象类 69
纯虚类 74
2.7模板 74
函数模板 74
类模板 75
2.8 UML技术概述 77
类图 77
顺序图 79
2.9本章小结 80
第3章 Symbian系统基础知识 81
3.1 Symbian概述 82
3.2 Symbian OS特点 84
3.3用户界面平台 86
3.4 Symbian程序开发概述 88
选择开发语言 88
选择SDK 89
选择IDE 91
开发流程 91
3.5配置开发环境 92
安装Active Per1 92
安装Java运行环境(JRE) 93
安装S60 SDK 94
S60 SDK的目录结构 98
解决多SDK并存的问题 99
安装IDE 99
3.6验证开发环境 99
命令行方式 100
Visual C++ 6.0 102
Visual C++.NET 102
3.7本章小结 103
第4章 创建S60应用程序 104
4.1使用应用程序向导创建应用程序 105
4.2工程目录和工程文件 110
group目录 110
aif目录 112
inc目录 113
data目录 114
sis目录 116
src目录 116
4.3在程序中使用中文 116
4.4制作应用程序的安装包 118
目标平台和编译版本 118
惟一标识符UI D 119
模拟器的文件系统结构 120
.pkg文件格式 121
制作和安装sis文件 121
4.5本章小结 123
第5章 S60界面风格 124
5.1屏幕和键盘 125
屏幕风格 125
键盘风格 125
5.2用户界面布局 126
窗口和面板的概念 126
主面板 127
状态面板 128
控制面板 129
弹出式窗口 130
5.3皮肤 131
皮肤简介 131
使应用程序支持皮肤 132
5.4处理用户按键 134
5.5导航模式 135
应用程序中的导航 136
标签页导航 136
同级文件夹导航 137
链接导航 137
5.6本章小结 138
第6章 Symbian程序开发基础 139
6.1操作系统结构 140
6.2 Symbian OS用户界面架构 141
Symbian OS用户界面架构 142
应用程序的用户界面框架 142
选择界面结构 144
6.3对象的创建和释放 145
堆上的对象 145
栈上的对象 146
6.4异常处理 147
异常的类型 147
异常的抛出与捕获 148
清除栈 151
类对象的两阶段构造 154
6.5 Symbian OS C++常用的设计模式 158
MVC模式 158
观察者模式 160
适配器模式 160
6.6 Symbian中的字符串处理 162
字符串处理的相关类 162
Unicode字符 165
6.7本章小结 166
第7章 基于控件的应用开发 167
7.1简单的控件应用程序 168
使用向导创建简单的控件应用程序 168
控件应用程序的架构 169
控件类的定义和实现 171
控件的构造及使用 172
7.2常用标准控件 174
标签 174
编辑框 178
滑块 181
进度条 185
7.3复合控件 187
复合控件的程序结构 187
创建复合控件 188
复合控件的布局 191
7.4绘制窗口 192
Draw()函数 192
图形上下文 194
窗口的绘制时机 195
7.5处理按键和点触事件 196
处理按键事件 196
处理点触事件 198
7.6基于控件的应用开发实例 199
程序启动流程 199
堆栈的压入操作 200
堆栈的弹出操作 201
7.7本章小结 202
第8章 基于视图的应用开发 203
8.1创建基于视图的应用程序 204
8.2视图架构的组件 206
视图相关组件的层次结构 206
视图应用程序的架构 207
8.3实现视图 208
视图类的定义 208
使用资源文件构造视图 209
关键函数的实现 213
8.4视图的创建与激活 219
8.5视图之间的切换 220
相同应用程序中的视图切换 220
不同应用程序的视图切换 222
在视图切换过程中传递数据 223
8.6本章小结 225
第9章 面板应用开发 226
9.1面板概述 227
状态面板 227
主面板 230
控制面板 230
9.2状态面板开发 230
标题面板开发 231
情景面板开发 235
导航面板开发 238
状态面板开发实例 244
9.3控制面板开发 245
按钮栏 245
滚动条指示图标 248
9.4全屏模式开发 248
9.5本章小结 251
第10章 对话框组件与应用开发 252
10.1对话框简介 253
对话框的相关类 253
定义对话框资源 254
执行对话框 256
初始化对话框 257
退出对话框 259
10.2表单 260
表单概述 260
定义表单资源 261
表单中的数据操作 263
10.3通知 265
资源通知 265
永久通知 267
进度通知和等待通知 268
10.4查询 269
确认查询 270
数据查询 271
列表查询 278
10.5菜单和菜单命令 280
菜单的资源定义 280
使用菜单 281
动态修改菜单 282
响应菜单命令 285
10.6本章小结 287
第11章 列表框开发 288
11.1列表框简介 289
列表框的分类 289
列表框的结构 290
列表框的使用步骤 291
11.2普通列表框 292
普通列表框简介 292
单行列表框 293
双行列表框 294
设置式列表框 296
弹出菜单式列表框 298
可标记列表框 300
多选列表框 301
11.3普通列表框开发 302
创建普通列表框 302
选择列表框开发实例 305
可标记列表框开发实例 307
多选列表框开发实例 309
11.4网格 310
网格简介 310
月历网格 311
图库网格 311
捷径网格 312
快速拨号网格 312
自定义网格 313
11.5网格开发 314
预定义网格开发 314
预定义网格开发实例 316
自定义网格开发实例 317
11.6弹出式列表框 318
弹出式普通列表框 318
弹出式网格 319
弹出式列表框开发实例 319
11.7设置项列表框 320
设置项列表框简介 321
创建设置项列表框 321
设置项和设置页参考 323
11.8本章小结 330
第12章 异步事件处理 331
12.1异步事件处理概述 332
异步函数和异步服务 332
活动调度器 333
活动对象 333
12.2活动对象编程 334
实现活动对象 334
运行机制 336
常见问题 337
12.3定时器编程简介 338
定时器服务简介 338
RTimer类 339
RTimer编程实例 341
12.4 CTimer编程实例 342
倒数计时器 342
闹钟 343
自动键盘锁 344
12.5其他定时器类 345
CPeriodic类 345
CHeartBeat类 346
CDeltaTimer类 347
12.6本章小结 348
第13章 文件系统开发 349
13.1文件系统概述 350
13.2文件系统服务 351
文件名 351
文件服务器 353
13.3访问目录和文件 356
访问目录 356
访问文件 357
13.4文件流操作 360
13.5 INI文件访问 363
13.6资源文件的访问 365
访问资源文件 366
访问位图 368
13.7文件系统开发实例 370
13.8本章小结 372
第14章 多媒体编程 373
14.1多媒体架构概述 374
位图API 374
图像转换框架 375
多媒体框架 375
14.2位图处理 376
创建多位图文件 376
位图加载与保存 377
位图绘制 378
位图旋转 379
位图缩放 380
14.3图像转换 381
图像解码 381
图像编码 383
14.4动画编程 384
S60动画控件 384
定时切换图像 386
双缓冲技术 386
14.5音频编程 387
播放音调 387
播放音频文件 388
录制音频文件 389
14.6视频编程 391
播放视频文件 391
录制视频文件 392
14.7摄像头编程 393
创建和初始化 393
设置参数 394
设置取景器 396
捕捉图像 397
14.8本章小结 398
第15章 串口通信编程 399
15.1通信编程简介 400
通信技术 400
通信架构 402
通信编程模式 403
15.2串口编程简介 404
串口通信标准 404
串口通信服务器和串口编程API 405
配置开发环境 406
使用超级终端进行调试 407
15.3串口编程实例 408
初始化系统 408
打开串口 409
配置串口 410
传输数据 411
关闭串口 412
15.4其他调用接口 412
RCommServ 412
RComm 414
15.5本章小结 414
第16章 TCP/IP网络编程 415
16.1 TCP/IP协议与互联网 416
TCP/IP协议 416
IP地址、域名和端口号 417
客户机/服务器模型 418
16.2套接字编程简介 419
套接字简介 419
伯克利套接字API 419
Symbian OS套接字API 421
16.3配置开发环境 424
设置模拟器的IP地址 424
选择网卡 425
验证配置是否正确 426
16.4 TCP/IP套接字编程实例 426
UDP套接字编程实例 427
TCP套接字编程实例 428
域名解析实例 432
16.5 HTTP编程 434
HTTP简介 434
Symbian OS的HTTP API 436
HTTP编程实例 437
16.6本章小结 439
第17章 辅助开发技术 440
17.1良好的编码风格 441
遵循编码约定 441
减小代码量 441
谨慎使用栈内存 442
堆内存的注意事项 443
提高执行效率 444
17.2防御性编程技术 445
严重错误 445
断言 446
对象不变性 447
堆检查 449
17.3测试技术 450
审查源代码 450
代码覆盖率测试 456
测试程序引擎 457
模拟资源访问错误 458
手机与模拟器的区别 459
17.4调试技术 460
IDE的调试功能 461
搜集出错信息 465
定位内存泄漏 466
输出调试信息 469
17.5本章小结 469