注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计C/C++及其相关Symbian OS C++手机应用开发

Symbian OS C++手机应用开发

Symbian OS C++手机应用开发

定 价:¥68.00

作 者: (英)Richard Harrison等著;周良忠译;周良忠译
出版社: 人民邮电出版社
丛编项: 移动开发系列丛书
标 签: C++

ISBN: 9787115125927 出版时间: 2004-01-01 包装: 平装
开本: 26cm 页数: 521 字数:  

内容简介

  《Symbian OS C++手机应用开发》介绍了用SymbianOSC++进行手机开发的各方面知识。全书共分4部分,每一部分的第1章描述一个教学示例程序,其后各章根据这个例子提出的问题展开讨论。第1部分(第1~3章)简单介绍了SymbianOS。第2部分(第4~8章)解释了创建简单GUI(图形用户界面)应用程序所需的基本类、资源、API和编程约定。第3部分(第9~15章)介绍了编写重要独立应用程序的相关知识。第4部分(第16~20章)介绍了系统编程、通信和事件处理的相关知识。附录部分给出了示例项目、开发资源,以及和仿真器相关的有用信息。《Symbian OS C++手机应用开发》适用于所有SymbianOS手机开发人员以及相关的管理人员。

作者简介

  译者:周良忠畅销图书《C++实践之路》的译者周良忠,1970年生。本科毕业于武汉化工学院计算机应用专业。1995毕业于中国科学院武汉岩土力学研究所,获硕士学位,1997年获得博士学位。1998年创办云巅工作室(http://www.cloudcrown.com),为个人、中小企业提供专业软件定做服务。近几年开发了多款广受欢迎的共享软件。精通C++、C#、Java、Perl等开发语言。2001年开始从事计算机科技图书的创作和翻译工作,最新翻译力作有《C#PrimerPlus中文版》、《C++实践之路》等。SymbianOS软件开发开发:应用C++开发智能手机应用程序入门>>更多作品

图书目录

第1章  起步  1
1.1  使用仿真器  1
1.1.1  启动仿真器  1
1.1.2  GUI样式  2
1.2  文本版本的Hello World  4
1.2.1  程序hellotext  4
1.2.2  项目定义文件  7
1.2.3  组件定义文件  8
1.2.4  从命令行生成  8
1.2.5  在Metrowerks IDE中生成  10
1.2.6  在目标机器上运行  10
1.3  小结  12
第2章  系统结构  13
2.1  硬件资源  13
2.2  软件基础知识  15
2.3  进程、线程和上下文切换  16
2.4  可执行程序  17
2.4.1  执行的位置  18
2.4.2  载入和共享  18
2.4.3  缩减大小  18
2.4.4  启动应用程序和服务器  19
2.5  电源管理  19
2.6  内核和E32  20
2.7  设备驱动程序  21
2.8  定时器  21
2.9  内存  22
2.9.1  进程和线程内存  23
2.9.2  在DLL中无可写静态数据  24
2.10  文件  25
2.11  事件处理  26
2.12  剖析事件处理  26
2.13  活动对象  27
2.14  多任务处理和抢占  28
2.15  服务器  29
2.16  线程产生作用的地方  30
2.17  本书涉及的API  31
2.18  小结  33
第3章  C++和面向对象  34
3.1  基本类型  34
3.2  命名约定  35
3.2.1  类名  36
3.2.2  数据名  36
3.2.3  函数名  37
3.2.4  宏名  37
3.2.5  版式  38
3.2.6  小结  38
3.3  函数  38
3.3.1  函数参数  39
3.4  API  39
3.4.1  函数类型  40
3.4.2  DLL和其他API元素  40
3.4.3  导出的函数  41
3.4.4  虚函数和API  41
3.5  模板  42
3.5.1  瘦模板  42
3.5.2  模板中的数字  43
3.6  类型转换  43
3.7  类  43
3.7.1  接口  44
3.7.2  不良做法  45
3.8  设计模式  45
3.9  类图和UML  46
3.9.1  描述API  46
3.9.2  描述类  47
3.9.3  描述类之间的关系  47
3.9.4  描述派生关系  48
3.9.5  基数  49
3.10  小结  49
第4章  简单图形应用程序  50
4.1  名字变更的意义  50
4.2  图形架构简介  50
4.3  应用程序结构  51
4.4  图形化的“Hello World!”程序  53
4.4.1  程序  53
4.4.4  项目规范文件  53
4.4.3  获得UID  54
4.4.4  生成应用程序  55
4.4.5  在CodeWarrior IDE中生成  56
4.4.6  源代码  56
4.5  资源文件  63
4.5.1  头  64
4.5.2  定义快捷键和菜单  64
4.5.3  字符串资源  66
4.6  实际应用  67
4.7  启动应用程序  67
4.8  命令和事件处理  68
4.8.1  从菜单栏中由指针生成的命令  68
4.8.2  菜单栏中的键盘生成命令  69
4.8.3  快捷键中的命令  69
4.9  终止应用程序  70
4.10  目标式调试  70
4.11  设置MetroTRK  70
4.11.1  配置  71
4.12  启动MetroTRK  71
4.13  设置CodeWarrior ID  71
4.14  调试应用程序  72
4.15  小结  72
第5章  字符串和描述符  73
5.1  字符串与内存  74
5.1.1  C中的字符串  74
5.1.2  Symbian OS中的字符串  74
5.2  修改字符串  77
5.2.1  修改C字符串  77
5.2.2  修改Symbian OS的字符串  78
5.2.3  修改HBufC  78
5.2.4  描述符类型小结  80
5.2.5  在接口中使用抽象类  81
5.2.6  再论文字  81
5.3  标准描述符函数  82
5.3.1  基本函数  83
5.3.2  比较  83
5.3.3  搜索  83
5.3.4  提取  83
5.3.5  清除和设置  84
5.3.6  操作数据  84
5.3.7  字母操作  84
5.3.8  修剪和对齐  84
5.3.9  格式化  84
5.4  更多的文本API  84
5.5  Unicode和字符转换  85
5.6  二进制数据  86
5.7  小结  88
第6章  错误处理和清理  89
6.1  错误类型  89
6.2  处理内存不足的错误  91
6.2.1  Uikon 调试键  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.2  错误码返回与L函数  112
6.5.3  清理栈上的R类  112
6.6  用户错误  113
6.7  严重提示的更多知识  114
6.8  测试引擎和库  115
6.9  小结  116
第7章  资源文件  118
7.1  为什么需要针对Symbian的资源
编译器  118
7.1.1  资源文件语法  118
7.1.2  可本地化字符串  120
7.1.3  多资源文件  122
7.1.4  编译资源文件  122
7.1.5  已编译资源文件的内容  124
7.2  小结  127
第8章  基本API  128
8.1  几个优秀的API  128
8.1.1  User类  128
8.1.2  动态缓冲  129
8.1.3  集合  132
8.1.4  区域设置  135
8.1.5  数学  136
8.1.6  变量参数表  136
8.1.7  字符串格式化  137
8.1.8  RDebug类  137
8.2  C标准库  138
8.2.1  移植问题  138
8.2.2  移植多线程程序  140
8.2.3  全局数据  141
8.2.4  结论  143
8.3  小结  144
第9章  独立应用程序  145
9.1  战舰游戏  145
9.2  综述  146
9.2.1  程序结构  146
9.2.2  引擎  147
9.2.3  控制器  147
9.3  引擎类  148
9.3.1  舰船类  149
9.3.2  舰队类  150
9.3.3  游戏引擎类  154
9.4  视图类  155
9.4.1  构建视图  156
9.4.2  绘制视图  156
9.4.3  处理事件  161
9.5  换算和缩放  162
9.6  控制器  166
9.6.1  访问UI环境  167
9.6.2  缩放  167
9.7  应用程序UI  169
9.8  持久性存储  171
9.8.1  作为基于文件的应用程序的
Solo Ships  172
9.8.2  存储和还原  172
9.8.3  创建默认文档  175
9.8.4  应用程序UI和文档  176
9.9  双人战舰游戏  176
9.9.1  视图架构  176
9.9.2  双人战舰游戏视图  178
9.9.3  舰队视图  178
9.9.4  隐藏器视图  182
9.9.5  视图测试程序  182
9.9.6  声音效果  183
9.10  小结  184
第10章  对话框和具体控件  186
10.1  对话框介绍  186
10.1.1  查询对话框  186
10.1.2  单页对话框  187
10.1.3  多页对话框  188
10.1.4  提示文本  188
10.1.5  控件  189
10.1.6  对话框处理  189
10.1.7  模态  190
10.1.8  小结  190
10.2  一些简单对话框  190
10.2.1  资源文件定义  192
10.2.2  对话框代码  193
10.2.3  只读对话框  196
10.2.4  简单对话框处理  197
10.3  对话框API  200
10.3.1  资源规范  200
10.3.2  添加按钮  200
10.3.3  基本函数  201
10.4  对话框常用控件  203
10.4.1  按钮  204
10.4.2  列表  205
10.4.3  编辑器  205
10.4.4  在对话框中使用控件  206
10.4.5  访问控件  206
10.4.6  对话框中的自定义控件  207
10.5  标准对话框  208
10.5.1 警报  208
10.5.2  查询  208
10.5.3  其他标准对话框  209
10.6  小结  209
第11章  图形显示  210
11.1  绘图基础  210
11.1.1  控件  211
11.1.2  Draw()概览  211
11.2   CGraphicsContext API  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  屏幕共享  227
11.5.1  CONE  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.3  组件  239
11.6.4  位置与大小  239
11.6.5  绘图  240
11.7  特殊效果  241
11.7.1  阴影  242
11.7.2  后台备份  242
11.7.3  动画  242
11.7.4  Uikon调试键  243
11.7.5  控件上下文  244
11.7.6  滚动  244
11.8  小结  244
第12章  交互图形  246
12.1  键、指针和命令基础知识  246
12.1.1  处理键事件  247
12.1.2  处理指针事件  248
12.1.3  将事件转换成命令  250
12.2  对话框中的交互  251
12.2.1  用户需求  251
12.2.2  一些基本抽象  252
12.2.3  程序员需求  253
12.2.4  复合控件  253
1.2.5  键分布和焦点  253
12.2.6  变暗和可见性  254
12.2.7  验证  255
12.2.8  控件观察者  255
12.2.9  容器  257
12.3  键处理过程回顾  258
12.3.1  焦点  260
12.3.2  文本光标  261
12.4  指针处理回顾  261
12.4.1  交互范例  261
12.4.2  选取相关性  262
12.4.3  抓取指针按下控件  262
12.2.4  捕获指针  262
12.4.5  获得高分辨率的指针事件  263
12.4.6  处理指针事件  263
12.4.7  自定义指针和键声音  264
12.5  窗口服务器和控件环境API的
更多知识  264
12.5.1  应用程序与窗口服务器的
通信  264
12.5.2  窗口类型  265
12.5.3  标准窗口  266
12.5.4  窗口组  267
12.6  shell  268
12.7  小结  268
第13章  文件、流和存储  269
13.1  基于文件的应用程序  269
13.1.1  用户和系统文件  270
13.1.2  UIQ应用程序文件位置  271
13.1.3  命名和位置约定小结  271
13.2  API引论  272
13.3  文件服务器  272
13.3.1  文件服务器会话  273
13.3.2  当前目录  274
13.3.3  驱动器、文件系统和存储
介质  274
13.3.4  文件  275
13.3.5  目录  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.4.5  文件API小结  285
13.5  流  285
13.5.1  内部格式和外部格式  285
13.5.2  外部化和内部化数据的途径  286
13.5.3  流类型  291
13.6  存储  292
13.6.1  直接文件存储  292
13.6.2  嵌入式存储  294
13.6.3  永久性文件存储  295
13.7  存储类型  297
13.8  字典存储和.ini文件  298
13.9  UIQ应用程序架构  299
13.10  小结  300
第14章  收尾工作  302
14.1  添加按钮  302
14.1.1  创建位图  303
14.1.2  位图转换  304
14.1.3  修改资源文件  305
14.1.4  生成应用程序  307
14.1.5  bmconv工具的补充说明  307
14.2  添加应用程序图标  308
14.2.1  创建图标  309
14.2.2  添加标题  309
14.2.3  重新生成应用程序  310
14.2.4  aiftool的补充说明  310
14.3  为应用程序提供安装支持  311
14.3.1  安装文件的安全保护  312
14.3.2  生成包文件  313
14.3.3  生成最终的SIS文件  315
14.3.4  SIS文件的安装  315
14.3.5  SIS文件的检查和卸载  316
14.3.6  应用程序的发行  316
14.4  UIQ应用程序的设计原则  317
14.4.1  GUI规划  317
14.4.2  设计列表视图和详细视图  318
14.4.3  设计菜单和文件夹  318
14.4.4  标准菜单项  319
14.4.5  创建对话框  319
14.4.3  考虑文本输入  319
14.4.7  提供文本和消息  319
14.4.8  使用滚动箭头和滚动条  320
14.4.9  适应各种缩放比例  320
14.4.10  应用程序间的链接  320
14.5  数据处理  320
14.6  小结  321
第15章  与设备和尺寸无关的图形  323
15.1  应用中与尺寸和目标无关的绘图  323
15.1.1  与设备无关的绘图  326
15.1.2  使用视图  330
15.1.3  管理缩放因子  331
15.1.4  视图和重用  332
15.1.5  设备无关绘图的小结  334
15.2  深入介绍GDI  334
15.2.1  位图传送和位图  335
15.2.2  深入介绍字体  337
15.2.3  关于打印的更多知识  338
15.2.4  色彩  339
15.2.5  Web浏览  341
15.3  开发人员对于设备无关代码的探索  341
15.3.1  实际的设备影响  342
15.4  GUI系统  342
15.4.1  Symbian OS GUI系统的发展  342
15.4.2  主要GUI组件  345
15.5  小结  346
第16章  多用户应用程序  347
16.1  Symbian OS中的通信  347
16.2  不带通信的Battleships  348
16.2.1 视图和菜单技巧  350
16.2.2  面向对象管道技术  351
16.2.3  不同的通信  352
16.3  TOGS  352
16.3.1  TOGS的形式  353
16.3.2  起点——数据报和对话  353
16.3.3  GSDP:游戏会话数据报协议  354
16.3.4  BSP:Battleships协议  355
16.3.5  测试程序  355
16.3.6  模式重用  356
16.3.7  在TOGS上进行构建  357
16.4  使用游戏  357
16.4.1  实际玩游戏  358
16.4.2  RGCP中的可靠性  358
16.4.3  SMS  359
16.5  原理剖析  359
16.5.1  状态视图  361
16.5.2  处理攻击请求  361
16.5.3  检查条件  362
16.5.4  攻击处理完整过程  364
16.6  更深入介绍Battleships  368
16.6.1  更理想的Battleships  368
16.6.2  其他游戏  370
16.6.3  单人游戏  371
16.6.4  基础结构的改进  371
16.7  小结  373
第17章  活动对象  374
17.1  一个简单活动对象  374
17.1.1  构造和析构  376
17.1.2  请求和处理事件  377
17.1.3  取消请求  378
17.2  工作方式  378
17.2.1  取消请求的更多知识  379
17.2.2  错误处理  381
17.2.3  非抢占和优先级  381
17.2.4  启动和终止规划器  382
17.2.5  在活动规划器中添加功能  383
17.2.6  框架小结  384
17.3  活动对象模式  387
17.3.1  维护未完成的请求  387
17.3.2  状态机  390
17.3.3  处理完成的接口  392
17.3.4  长期运行的任务和增量接口  393
17.3.5  区分优先级并维护响应
灵敏度  394
17.4  小结  395
第18章  客户端—服务器框架  396
18.1  引言  396
18.1.1  处理常规请求  397
18.1.2  建立会话  398
18.1.3  启动服务器  399
18.1.4  处理异步请求  399
18.1.5  结束会话并在客户端消亡后
清理  400
18.1.6  在服务器消亡后清理  400
18.1.7  处理一个会话中的多个对象  400
18.2  性能  401
18.2.1  客户端缓冲  402
18.2.2  高级事务  403
18.2.3  数据缓存  403
18.2.4  相同进程中的相关服务器  404
18.2.5  共享内存  405
18.3  服务器和线程  407
18.3.1  在线程间共享客户端对象  407
18.3.2  服务器中的多线程  408
18.3.3  时间起关键作用的服务器
性能  408
18.3.4  线程优先级  409
18.4  客户端-服务器API  409
18.4.1  线程基础  410
18.4.2  线程间数据传输和数据包类  411
18.4.3  客户端对象  412
18.4.4  服务器端的对象  415
18.5  小结  419
第19章  GSDP服务器  420
19.1  软件结构  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章  GDP实现  457
20.1  任务、状态和状态机  457
20.1.1  GDP状态机  458
20.2  SMS实现  462
20.2.1  ESOCK和SMS的Symbian 
OS支持  462
20.2.2  GDP-SMS消息格式  463
20.2.3  GDP-SMS实现  463
20.3  蓝牙实现  471
20.3.1  蓝牙的Symbian OS支持  472
20.3.2  GDP-BT的协议映射  472
20.3.3  GDP-BT实现  472
20.4  小结  478
附录A  示例项目  480
A.1  独立项目  480
A.2  Battleships项目  481
A.3  TOGS项目  481
附录B  开发人员资源  482
B.1  Symbian开发人员网络  482
B.2  Symbian OS开发人员工具  482
B.2.1  AppForge  482
B.2.2  Borland  482
B.2.3  Forum Nokia  482
B.2.4  Metrowerks  483
B.2.5  Sun Microsystems  483
B.2.6  Texas Instuments  483
B.2.7  工具文档  483
B.3 Symbian OS SDK  483
B.3.1  Symbian OS v7.0  484
B.3.2  Symbian OS v6.1  484
B.3.3  Symbian OS v6.0  484
B.3.4  Symbian OS v5  484
B.4  其他SDK和SDK扩展  485
B.4.1  OPL  485
B.4.2  Visual Basic  485
B.4.3  Intel PCA开发包  485
B.4.4  Texas Instruments Innovator开发包  485
B.5  开发人员支持  485
B.5.1  Ericsson Mobility World  486
B.5.2  Forum Nokia  486
附录C  TOGS指南和参考  487
C.1  GDP  487
C.1.1  Symbian OS的实现代码  488
C.1.2  GDP网络回送实现  489
C.1.3  GDP聊天  490
C.1.4  继续探讨GDP  490
C.2  GDSP  490
C.2.1  Symbian OS客户端实现  493
C.2.2  GSDP聊天  495
C.2.3  继续介绍GSDP  496
C.3  RGCP  496
C.3.1  协议综述  496
C.3.2  RGCP Symbian OS的实现  501
C.3.3  RGCP交谈  504
C.3.4  深入探讨RGCP  504
C.4  战舰协议  504
C.4.1  协议综述  505
C.4.2  游戏UI  508
C.4.3  程序结构  509
C.4.4  继续探讨BSP  509
C.5  小结  509
附录D  仿真器参考  510
D.1  仿真器内部  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 

本目录推荐