《Symbian OS C++手机应用开发》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)哈里森(Harrison,R.)著;周良忠译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2004
  • ISBN:7115125929
  • 页数:521 页
图书介绍:本书介绍了用Symbian OS C++进行手机开发的各方面知识。

1.1使用仿真器 1

1.1.1启动仿真器 1

第1章 起步 1

1.1.2 GUI样式 2

1.2.1程序hellotext 4

1.2文本版本的Hello World 4

1.2.2 项目定义文件 7

1.2.4从命令行生成 8

1.2.3组件定义文件 8

1.2.6在目标机器上运行 10

1.2.5在MetrowerksIDE 中生成 10

1.3小结 12

2.1硬件资源 13

第2章 系统结构 13

2.2软件基础知识 15

2.3进程、线程和上下文切换 16

2.4 可执行程序 17

2.4.3缩减大小 18

2.4.2载入和共享 18

2.4.1执行的位置 18

2.5电源管理 19

2.4.4启动应用程序和服务器 19

2.6内核和E32 20

2.8定时器 21

2.7设备驱动程序 21

2.9内存 22

2.9.1进程和线程内存 23

2.9.2在DLL中无可写静态数据 24

2.10文件 25

2.12剖析事件处理 26

2.11事件处理 26

2.13活动对象 27

2.14多任务处理和抢占 28

2.15服务器 29

2.16线程产生作用的地方 30

2.17本书涉及的API 31

2.18小结 33

3.1基本类型 34

第3章 C++和面向对象 34

3.2命名约定 35

3.2.2数据名 36

3.2.1类名 36

3.2.4宏名 37

3.2.3函数名 37

3.3函数 38

3.2.6小结 38

3.2.5版式 38

3.4 API 39

3.3.1函数参数 39

3.4.2 DLL和其他API 元素 40

3.4.1函数类型 40

3.4.4虚函数和API 41

3.4.3导出的函数 41

3.5.1瘦模板 42

3.5模板 42

3.7类 43

3.6类型转换 43

3.5.2模板中的数字 43

3.7.1接口 44

3.8设计模式 45

3.7.2不良做法 45

3.9.1描述API 46

3.9类图和UML 46

3.9.3描述类之间的关系 47

3.9.2描述类 47

3.9.4描述派生关系 48

3.10小结 49

3.9.5基数 49

4.2 图形架构简介 50

4.1名字变更的意义 50

第4章 简单图形应用程序 50

4.3 应用程序结构 51

4.4.2项目规范文件 53

4.4.1程序 53

4.4图形化的“Hello World!”程序 53

4.4.3获得UID 54

4.4.4生成应用程序 55

4.4.6源代码 56

4.4.5在CodeWarrior IDE中生成 56

4.5资源文件 63

4.5.2定义快捷键和菜单 64

4.5.1头 64

4.5.3字符串资源 66

4.7启动应用程序 67

4.6实际应用 67

4.8.1从菜单栏中由指针生成的命令 68

4.8命令和事件处理 68

4.8.3快捷键中的命令 69

4.8.2菜单栏中的键盘生成命令 69

4.11设置MetroTRK 70

4.10目标式调试 70

4.9终止应用程序 70

4.13设置CodeWarriorID 71

4.12启动MetroTRK 71

4.11.1配置 71

4.15小结 72

4.14调试应用程序 72

第5章 字符串和描述符 73

5.1.2 Symbian OS中的字符串 74

5.1.1 C中的字符串 74

5.1字符串与内存 74

5.2.1修改C字符串 77

5.2修改字符串 77

5.2.3修改HBufC 78

5.2.2修改Symbian OS的字符串 78

5.2.4描述符类型小结 80

5.2.6再论文字 81

5.2.5在接口中使用抽象类 81

5.3标准描述符函数 82

5.3.4提取 83

5.3.3搜索 83

5.3.1基本函数 83

5.3.2比较 83

5.4更多的文本API 84

5.3.9格式化 84

5.3.5清除和设置 84

5.3.6操作数据 84

5.3.7字母操作 84

5.3.8修剪和对齐 84

5.5 Unicode和字符转换 85

5.6二进制数据 86

5.7小结 88

6.1错误类型 89

第6章 错误处理和清理 89

6.2.1 Uikon调试键 91

6.2处理内存不足的错误 91

6.2.2 Memorymagic应用程序 92

6.2.3分配、销毁和堆平衡 93

6.2.4堆失败 97

6.2.5异常退出的工作方式 98

6.2.6清理栈 101

6.2.7两阶段构造 104

6.3清理规则小结 108

6.4 C类和T类 109

6.5 R类 110

6.5.1作为成员变量的R类 111

6.5.3清理栈上的R类 112

6.5.2错误码返回与L函数 112

6.6用户错误 113

6.7严重提示的更多知识 114

6.8测试引擎和库 115

6.9小结 116

7.1.1资源文件语法 118

7.1为什么需要针对Symbian的资源编译器 118

第7章 资源文件 118

7.1.2可本地化字符串 120

7.1.4编译资源文件 122

7.1.3多资源文件 122

7.1.5已编译资源文件的内容 124

7.2小结 127

8.1.1 User类 128

8.1几个优秀的API 128

第8章 基本API 128

8.1.2 动态缓冲 129

8.1.3集合 132

8.1.4 区域设置 135

8.1.6变量参数表 136

8.1.5数学 136

8.1.8 RDebug类 137

8.1.7字符串格式化 137

8.2.1移植问题 138

8.2 C标准库 138

8.2.2移植多线程程序 140

8.2.3全局数据 141

8.2.4结论 143

8.3小结 144

9.1战舰游戏 145

第9章 独立应用程序 145

9.2.1程序结构 146

9.2综述 146

9.2.3控制器 147

9.2.2引擎 147

9.3 引擎类 148

9.3.1舰船类 149

9.3.2舰队类 150

9.3.3游戏引擎类 154

9.4视图类 155

9.4.2绘制视图 156

9.4.1构建视图 156

9.4.3处理事件 161

9.5换算和缩放 162

9.6控制器 166

9.6.2缩放 167

9.6.1访问GUI环境 167

9.7应用程序UI 169

9.8持久性存储 171

9.8.2存储和还原 172

9.8.1作为基于文件的应用程序的Solo Ships 172

9.8.3创建默认文档 175

9.9.1视图架构 176

9.9双人战舰游戏 176

9.8.4 应用程序UI和文档 176

9.9.3舰队视图 178

9.9.2 双人战舰游戏视图 178

9.9.5视图测试程序 182

9.9.4隐藏器视图 182

9.9.6声音效果 183

9.10小结 184

10.1.1查询对话框 186

10.1对话框介绍 186

第10章 对话框和具体控件 186

10.1.2单页对话框 187

10.1.4提示文本 188

10.1.3多页对话框 188

10.1.6对话框处理 189

10.1.5控件 189

10.2一些简单对话框 190

10.1.8小结 190

10.1.7模态 190

10.2.1资源文件定义 192

10.2.2对话框代码 193

10.2.3只读对话框 196

10.2.4简单对话框处理 197

10.3.2添加按钮 200

10.3.1资源规范 200

10.3 对话框API 200

10.3.3基本函数 201

10.4对话框常用控件 203

10.4.1按钮 204

10.4.3编辑器 205

10.4.2列表 205

10.4.5访问控件 206

10.4.4在对话框中使用控件 206

10.4.6对话框中的自定义控件 207

10.5.2查询 208

10.5.1警报 208

10.5标准对话框 208

10.6小结 209

10.5.3其他标准对话框 209

11.1绘图基础 210

第11章 图形显示 210

11.1.2 Draw()概览 211

11.1.1控件 211

11.2 CGraphicsContextAPI 213

11.2.1 坐标类 214

11.2.2设置图形上下文 215

11.2.3绘图函数 216

11.3绘图和重绘 218

11.3.1模型、视图和控制器模式 219

11.3.2 Draw()契约 220

11.4 无闪烁重绘 222

11.4.1绘制一切 223

11.4.2状态视图更新 224

11.4.3命中报告 225

11.4.4光标移动 226

11.5.1 CONE 227

11.5 屏幕共享 227

11.5.2自主窗口和寄宿控件 228

11.5.3复合控件 231

11.5.4绘图的更多知识 232

11.6 CCoeControl的绘图支持 236

11.6.1控件环境 237

11.6.2 自主窗口和寄宿 238

11.6.4位置与大小 239

11.6.3组件 239

11.6.5绘图 240

11.7特殊效果 241

11.7.3动画 242

11.7.2后台备份 242

11.7.1阴影 242

11.7.4 Uikon调试键 243

11.8小结 244

11.7.6滚动 244

11.7.5控件上下文 244

12.1键、指针和命令基础知识 246

第12章 交互图形 246

12.1.1处理键事件 247

12.1.2处理指针事件 248

12.1.3将事件转换成命令 250

12.2.1 用户需求 251

12.2 对话框中的交互 251

12.2.2一些基本抽象 252

12.2.5键分布和焦点 253

12.2.4复合控件 253

12.2.3程序员需求 253

12.2.6变暗和可见性 254

12.2.8控件观察者 255

12.2.7验证 255

12.2.9容器 257

12.3键处理过程回顾 258

12.3.1焦点 260

12.4.1交互范例 261

12.4指针处理回顾 261

12.3.2文本光标 261

12.4.4捕获指针 262

12.4.3抓取指针按下控件 262

12.4.2选取相关性 262

12.4.6处理指针事件 263

12.4.5获得高分辨率的指针事件 263

12.5.1应用程序与窗口服务器的通信 264

12.5窗口服务器和控件环境API的更多知识 264

12.4.7自定义指针和键声音 264

12.5.2窗口类型 265

12.5.3标准窗口 266

12.5.4窗口组 267

12.7小结 268

12.6 shell 268

13.1基于文件的应用程序 269

第13章 文件、流和存储 269

13.1.1用户和系统文件 270

13.1.3命名和位置约定小结 271

13.1.2 UIQ应用程序文件位置 271

13.3文件服务器 272

13.2 API引论 272

13.3.1文件服务器会话 273

13.3.3驱动器、文件系统和存储介质 274

13.3.2当前目录 274

13.3.5目录 275

13.3.4文件 275

13.3.6文件名解析 276

13.4 streams程序 277

13.4.1与文件服务器建立连接 278

13.4.2文件写入 279

13.4.3回读 283

13.4.4文件名解析 284

13.5.1内部格式和外部格式 285

13.5流 285

13.4.5文件API小结 285

13.5.2外部化和内部化数据的途径 286

13.5.3流类型 291

13.6.1直接文件存储 292

13.6存储 292

13.6.2嵌入式存储 294

13.6.3永久性文件存储 295

13.7存储类型 297

13.8字典存储和.ini文件 298

13.9 UIQ应用程序架构 299

13.10小结 300

14.1添加按钮 302

第14章 收尾工作 302

14.1.1创建位图 303

14.1.2位图转换 304

14.1.3修改资源文件 305

14.1.5 bmconv工具的补充说明 307

14.1.4生成应用程序 307

14.2添加应用程序图标 308

14.2.2添加标题 309

14.2.1创建图标 309

14.2.4 aiftool的补充说明 310

14.2.3重新生成应用程序 310

14.3为应用程序提供安装支持 311

14.3.1安装文件的安全保护 312

14.3.2生成包文件 313

14.3.4 SIS文件的安装 315

14.3.3生成最终的SIS文件 315

14.3.6应用程序的发行 316

14.3.5 SIS文件的检查和卸载 316

14.4.1GUI规划 317

14.4 UIQ应用程序的设计原则 317

14.4.3设计菜单和文件夹 318

14.4.2设计列表视图和详细视图 318

14.4.7提供文本和消息 319

14.4.6考虑文本输入 319

14.4.4标准菜单项 319

14.4.5创建对话框 319

14.5数据处理 320

14.4.10应用程序间的链接 320

14.4.8使用滚动箭头和滚动条 320

14.4.9适应各种缩放比例 320

14.6小结 321

15.1应用中与尺寸和目标无关的绘图 323

第15章 与设备和尺寸无关的图形 323

15.1.1与设备无关的绘图 326

15.1.2使用视图 330

15.1.3管理缩放因子 331

15.1.4视图和重用 332

15.2深入介绍GDI 334

15.1.5设备无关绘图的小结 334

15.2.1位图传送和位图 335

15.2.2深入介绍字体 337

15.2.3关于打印的更多知识 338

15.2.4色彩 339

15.3开发人员对于设备无关代码的探索 341

15.2.5 Web浏览 341

15.4.1 Symbian OS GUI系统的发展 342

15.4 GUI系统 342

15.4.2主要GUI组件 345

15.5小结 346

16.1 Symbian OS中的通信 347

第16章 多用户应用程序 347

16.2不带通信的Battleships 348

16.2.1视图和菜单技巧 350

16.2.2面向对象管道技术 351

16.3TOGS 352

16.2.3不同的通信 352

16.3.2起点——数据报和对话 353

16.3.1TOGS的形式 353

16.3.3 GSDP:游戏会话数据报协议 354

16.3.5测试程序 355

16.3.4 BSP:Battleships协议 355

16.3.6模式重用 356

16.4使用游戏 357

16.3.7在TOGS上进行构建 357

16.4.2 RGCP中的可靠性 358

16.4.1实际玩游戏 358

16.5 原理剖析 359

16.4.3 SMS 359

16.5.2处理攻击请求 361

16.5.1状态视图 361

16.5.3检查条件 362

16.5.4攻击处理完整过程 364

16.6.1更理想的Battleships 368

16.6更深入介绍Battleships 368

16.6.2其他游戏 370

16.6.4基础结构的改进 371

16.6.3单人游戏 371

16.7小结 373

17.1一个简单活动对象 374

第17章 活动对象 374

17.1.1构造和析构 376

17.1.2请求和处理事件 377

17.2工作方式 378

17.1.3取消请求 378

17.2.1取消请求的更多知识 379

17.2.3非抢占和优先级 381

17.2.2错误处理 381

17.2.4启动和终止规划器 382

17.2.5在活动规划器中添加功能 383

17.2.6框架小结 384

17.3.1维护未完成的请求 387

17.3活动对象模式 387

17.3.2状态机 390

17.3.3处理完成的接口 392

17.3.4长期运行的任务和增量接口 393

17.3.5 区分优先级并维护响应灵敏度 394

17.4小结 395

18.1引言 396

第18章 客户端—服务器框架 396

18.1.1处理常规请求 397

18.1.2建立会话 398

18.1.4处理异步请求 399

18.1.3启动服务器 399

18.1.7处理一个会话中的多个对象 400

18.1.6在服务器消亡后清理 400

18.1.5结束会话并在客户端消亡后清理 400

18.2性能 401

18.2.1客户端缓冲 402

18.2.3数据缓存 403

18.2.2高级事务 403

18.2.4相同进程中的相关服务器 404

18.2.5共享内存 405

18.3.1在线程间共享客户端对象 407

18.3服务器和线程 407

18.3.3时间起关键作用的服务器性能 408

18.3.2服务器中的多线程 408

18.4客户端-服务器API 409

18.3.4线程优先级 409

18.4.1线程基础 410

18.4.2线程间数据传输和数据包类 411

18.4.3客户端对象 412

18.4.4服务器端的对象 415

18.5小结 419

19.1软件结构 420

第19章 GSDP服务器 420

19.2客户端接口 421

19.2.1消息传递函数 423

19.2.2监听和接收 424

19.2.3连接和断开 426

19.2.4作为DLL的客户端API 428

19.3服务器实现 429

19.3.1消息处理 430

19.3.2发送数据报 435

19.3.3使用ECOM框架 437

19.3.4使用协议 438

19.3.5接收数据报 445

19.3.6启动和关闭 450

19.4小结 456

20.1任务、状态和状态机 457

第20章 GDP实现 457

20.1.1 GDP状态机 458

20.2.1 ESOCK和SMS的Symbian OS支持 462

20.2 SMS实现 462

20.2.3 GDP-SMS实现 463

20.2.2 GDP-SMS消息格式 463

20.3蓝牙实现 471

20.3.3 GDP-BT实现 472

20.3.2 GDP-BT的协议映射 472

20.3.1蓝牙的Symbian OS支持 472

20.4小结 478

A.1独立项目 480

附录A 示例项目 480

A.3 TOGS项目 481

A.2 Battleships项目 481

B.2.3 Forum Nokia 482

B.2.2 Borland 482

附录B 开发人员资源 482

B.1 Symbian开发人员网络 482

B.2 Symbian OS开发人员工具 482

B.2.1 AppForge 482

B.3 Symbian OS SDK 483

B.2.7工具文档 483

B.2.4 Metrowerks 483

B.2.5 Sun Microsystems 483

B.2.6 Texas Instuments 483

B.3.4 Symbian OS v5 484

B.3.3 Symbian OS v6.0 484

B.3.1 Symbian OS v7.0 484

B.3.2 Symbian OS v6.1 484

B.5开发人员支持 485

B.4.4 TexasInstrumentsInnovator开发包 485

B.4其他SDK和SDK扩展 485

B.4.1OPL 485

B.4.2 Visual Basic 485

B.4.3 Intel PCA开发包 485

B.5.2 Forum Nokia 486

B.5.1 Ericsson Mobility World 486

C.1 GDP 487

附录C TOGS指南和参考 487

C.1.1 Symbian OS的实现代码 488

C.1.2 GDP网络回送实现 489

C.2GDSP 490

C.1.4继续探讨GDP 490

C.1.3 GDP聊天 490

C.2.1 Symbian OS客户端实现 493

C.2.2 GSDP聊天 495

C.3.1协议综述 496

C.3 RGCP 496

C.2.3继续介绍GSDP 496

C.3.2 RGCP Symbian OS的实现 501

C.4战舰协议 504

C.3.4深入探讨RGCP 504

C.3.3 RGCP交谈 504

C.4.1协议综述 505

C.4.2游戏UI 508

C.5小结 509

C.4.4继续探讨BSP 509

C.4.3程序结构 509

D.1仿真器内部 510

附录D 仿真器参考 510

D.1.1源代码兼容性 511

D.1.2驱动盘映射 512

D.1.3目录体系 513

D.1.4仿真器启动 514

D.1.5仿真器启动参数 515

D.1.6仿真器命令行语法 515

D.1.7键映射 516

D.1.8通信 516

D.1.9仿真器有多好 517

D.1.10调试键 519

索引 520