《例学Symbian手机开发》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:孙东风,刘莉莉编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2010
  • ISBN:9787113113957
  • 页数:287 页
图书介绍:本书主要内容包括Symbian开发基础、Symbian OS 特有知识、Symbian开发常用技巧和模块、Symbian个人记事本、Symbian 连连看游戏、Symbian手机聊天程序、Symbian简单下载器、Symbian蓝牙聊天程序和Symbian电话簿开发等。本书适合所有Symbian OS手机开发人员和相关项目管理人员阅读、参考,也可作为本、专科学校Symbian智能手机应用开发课程的教学参考书。

第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(Hello World)框架概述 75

4.1.5 S60 EIKON Control based application(Hello World)框架类组成 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 Syrnbian自定义对话框 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