第1章 嵌入式操作系统概述 1
目录 1
1.1 嵌入式Symbian OS概述 2
1.1.1 常见嵌入式手机操作系统 2
1.1.2 Symbian OS概述 3
1.2 Symbian应用开发平台Series 60 4
1.2.1 开发平台的搭建 4
1.2.2 SDK文件目录结构 9
1.2.3 控制台程序开发 11
1.2.4 嵌入式Symbian GUI程序开发流程 13
1.3 Hello World例程 16
2.1 Symbian程序编程规范和数据类型 18
第2章 Symbian OS编码规范及内存管理 18
2.2 TRAP和TRAPD 20
2.3 清理栈 22
2.4 二阶段构造 24
2.5 内存管理实例 28
2.6 编写内存管理程序(习题) 32
2.7 本章小结 34
第3章 描述符 35
3.1 描述符的基本概念 35
3.2 LIT宏 38
3.3 缓冲区描述符TBuf和TBufC 38
3.3.1 初始化缓冲区描述符 39
3.3.2 缓冲区描述符实例 40
3.4 指针描述符TPtr和TPtrC 44
3.4.1 指针描述符的概念 44
3.4.2 指针描述符实例 44
3.5 堆缓冲区描述符HBufC 47
3.5.1 初始化堆缓冲区描述符 47
3.5.2 HBufC描述符实例 48
3.6 一个简单的描述符程序 54
3.7 编写描述符程序(习题) 58
3.8 本章小结 59
4.1 RArray和RPointerArray动态数组 60
第4章 动态数组 60
4.1.1 RArray动态数组常用操作 61
4.1.2 RArray动态数组实例 63
4.1.3 RPointerArray动态数组 65
4.2 CArray动态数组 70
4.2.1 CArray存储类型 70
4.2.2 CArray动态数组实例 72
4.2.3 CArray排序和查找 77
4.3 动态数组实例 78
4.4 编写动态数组程序(习题) 83
4.5 本章小结 89
5.1 活动对象的工作原理 90
5.1.1 实时操作系统的基本概念 90
第5章 活动对象 90
5.1.2 Symbian OS程序架构 91
5.1.3 活动对象的响应 91
5.2 活动对象基类CActive 93
5.3 编写活动对象程序解析 94
5.3.1 建立活动对象 94
5.3.2 使用活动对象 97
5.4 活动对象程序实例 97
5.5 编写活动对象程序(习题) 102
5.6 本章小结 103
6.1 Symbian文件服务和存储 104
第6章 文件管理 104
6.1.1 文件存储位置及路径 105
6.1.2 文件名命名规则 105
6.1.3 文件访问流程 105
6.2 目录和驱动器操作 106
6.2.1 驱动器操作 106
6.2.2 目录操作 107
6.3 流(Stream) 112
6.3.1 文件输出流(RWriteStream) 112
6.3.2 外化(Externalize) 113
6.3.3 输入流(RReadStream) 115
6.3.4 内化(Internalize) 115
6.4 文件存储和流字典 117
6.4.1 文件存储 118
6.4.2 流字典 128
6.5 一个文件管理实例 130
6.6 文件管理程序(习题) 138
第7章 GUI编程框架 141
7.1 Symbian OS框架结构 141
7.1.1 基于传统控件的应用程序架构 142
7.1.2 基于对话框的应用程序架构 143
7.1.3 基于Avkon视图切换的架构 143
7.2 Symbian应用程序架构代码解析 144
7.2.1 基于传统控件应用程序代码解析 144
7.2.2 基于对话框应用程序架构解析 154
7.2.3 基于视图切换的架构解析 158
7.3 资源文件 163
7.4 GUI程序开发(习题) 167
7.4.1 程序运行结果 167
7.4.2 功能实现 168
7.5 本章小结 172
第8章 GUI程序开发(倒计时) 173
8.1 需求说明 173
8.1.1 功能说明 173
8.1.2 技术指标 175
8.1.3 对功能的规定 176
8.2 倒计时系统设计 176
8.2.1 系统总体设计 176
8.3.1 开发流程 177
8.2.2 模块设计与函数实现 177
8.3 程序开发流程及实现 177
8.3.2 修改源代码内容 180
8.3.3 创建功能函数 181
8.4 源代码分析 184
8.4.1 查看模块代码 184
8.4.2 添加模块代码 185
8.4.3 修改模块代码 187
8.4.4 删除模块代码 188
第9章 Symbian OS控件开发 190
9.1 菜单(Menu)控件 190
9.1.1 定义菜单 190
9.1.2 响应菜单命令 193
9.1.3 级联菜单 194
9.1.4 动态菜单 196
9.1.5 上下文敏感菜单 197
9.2 标签(Label)控件 199
9.3 对话框(Dialog Box)控件 202
9.3.1 标准对话框 203
9.3.2 通知对话框 208
9.3.3 查询对话框 211
9.3.4 列表对话框 216
9.4 列表(ListBox)控件 219
9.4.1 基本列表 219
9.4.2 动态列表 224
9.5 编辑器(Editor)控件 226
9.5.1 文本编辑器 227
9.5.2 数值编辑器 230
9.5.3 其他编辑器 233
9.6 编写控件程序(习题) 234
9.6.1 程序功能说明 234
9.6.2 主要函数说明 235
9.7 本章小结 236
第10章 Symbian多媒体编程 237
10.1 Symbian多媒体框架 237
10.2.1 Symbian图形架构 238
10.2 图形与图像 238
10.2.2 Symbian绘图基础 240
10.2.3 文本和字体 246
10.2.4 位图处理 247
10.3 音频处理 252
10.3.1 播放正弦波音调 252
10.3.2 播放音频剪辑 256
10.3.3 播放音频流 258
10.4 编写多媒体程序(习题) 262
10.4.1 运行结果 262
10.4.2 类的实现 264
10.5 本章小结 264
11.1.1 主界面 266
11.1 需求分析 266
第11章 课程表管理系统 266
11.1.2 显示详细信息 267
11.1.3 修改功能 267
11.1.4 查询功能 268
11.1.5 删除功能 269
11.1.6 其他功能 270
11.2 系统设计 270
11.2.1 系统总体设计 270
11.2.2 模块设计 271
11.3 源码分析 272
11.3.1 修改部分源代码 272
11.3.2 显示详细信息部分源代码 274
11.3.3 删除信息部分源代码 276
11.3.4 显示listbox部分源代码 278
11.3.5 查询信息部分源代码 280
11.3.6 从文件中查询部分源代码 281
11.3.7 查找当前时间的课程部分源代码 283
第12章 Symbian游戏开发——俄罗斯方块 284
12.1 主要类的描述 284
12.1.1 Block类 284
12.1.2 Grid类 285
12.1.3 S60testappui类 285
12.1.4 S60testappview类 285
12.2 系统设计流程 286
12.1.5 S60testdocument类 286
12.1.6 S60testengine类 286
12.3 源代码分析 290
12.3.1 Block类的实现 290
12.3.2 Grid类的实现 292
12.3.3 MyToneClass类的实现 293
12.3.4 appview类的实现 295
12.3.5 document类的实现 298
12.3.6 Engine类的实现 301
12.4 本章小结 304
13.1 蓝牙应用概述 305
13.1.1 基本术语介绍 305
第13章 蓝牙通信程序开发 305
13.1.2 蓝牙技术和产品应用领域 306
13.2 蓝牙应用系统技术分析 307
13.2.1 蓝牙协议栈的体系结构 307
13.2.2 蓝牙无线传输技术分析 308
13.2.3 蓝牙系统基本结构分析 309
13.3 Symbian蓝牙通信的实现 310
13.3.1 蓝牙服务的发布 310
13.3.2 蓝牙设备的搜寻 316
13.3.3 蓝牙服务的搜寻 319
13.3.4 蓝牙套接字通信 325
13.4 本章小结 334