《Series 60应用程序开发》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Leigh Edwards,(美)Richard Barker,EMCC软件公司著;周良忠译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2005
  • ISBN:7115134634
  • 页数:543 页
图书介绍:本书是诺基亚与EMCC公司共同推出的一本Series 60开发的权威参考书,为Symbian OS下的C++编程提供全面指导。

第1章 起步 1

目录 1

1.1 Series 60 C++软件开发包(SDK) 2

1.2 开发过程概述 3

1.3 Series 60模拟器 5

1.4 模拟器上的生成 7

1.4.1 从命令行生成 7

1.4.2 从IDE生成 8

1.5 运行模拟器 9

1.5.3 从命令提示符运行模拟器 11

1.5.1 模拟器可执行文件位置 11

1.5.2 模拟器调试模式 11

1.5.4 从VisualC++IDE运行模拟器 12

1.5.5 从Borland C++Builder 6和C++BuilderX IDE运行模拟器 12

1.5.6 从CodeWarrior IDE运行模拟器 12

1.5.7 定位和运行应用程序 12

1.5.8 调试应用程序 13

1.5.9 使用IDE的进一步帮助 13

1.6 目标Series 60设备的生成 13

1.7.1 生成SIS安装文件 15

1.7.2 SIS文件安装 15

1.7 在目标设备上的部署 15

1.7.3 在目标设备上运行 16

1.8 小结 16

第2章 开发参考 17

2.1 SDK版本和选择 18

2.1.1 Series 60 1.x SDK 18

2.1.2 Series 60 2.x SDK 19

2.2 HelloWorld GUI应用程序 20

2.2.1 HelloWorld bld.inf 20

2.2.2 HelloWorld.mmp 20

2.2.3 生成和运行 24

2.2.4 HelloWorld GUI的可执行文件和运行库文件 25

2.2.5 HelloWorld项目文件和位置 26

2.2.6 HelloWorld GUI源文件 27

2.2.7 资源编译器 28

2.2.8 应用程序和资源的本地化 29

2.2.9 AIF文件 30

2.3 控制台应用程序 32

2.3.1 HelloWorld控制台应用程序 32

2.3.2 生成和运行控制台应用程序 33

2.3.3 HelloWorldCon.mmp 34

2.3.4 HelloWorldCon模拟器可执行文件 34

2.3.5 HelloWorldCon目标可执行文件 34

2.4 Symbian安装系统 35

2.4.1 SIS文件生成工具 36

2.4.2 .pkg文件的格式 37

2.4.3 生成SIS文件 41

2.5 额外的开发工具 41

2.5.1 多位图和位图转换器Bmconv 41

2.5.2 Series 60应用程序向导 43

2.5.3 其他SDK工具 44

2.5.4 更多的工具和实用程序 45

2.6.1 Microsoft Visual Studio.NET 46

2.6.2 模拟器配置 46

2.6 Series 60 SDK和IDE的安装技巧 46

2.6.3 模拟器中的应用程序严重错误 48

2.7 高级应用程序部署和生成指南 48

2.7.1 平台UID 48

2.7.2 设备标识UID 49

2.7.3 资源文件版本和压缩 50

2.7.4 针对ARM目标的生成 50

2.8 小结 52

第3章 Symbian OS基础 53

3.1 命名约定 54

3.1.2 S类 55

3.1.3 C类 55

3.1.1 T类 55

3.1.4 R类 56

3.1.5 M类 56

3.1.6 命名空间 57

3.2 基本类型 58

3.3 异常处理和资源管理 59

3.3.1 异常、异常退出、严重错误和捕获 60

3.3.2 异常退出问题和清除栈 63

3.3.3 两阶段构造 65

3.3.4 Symbian OS构造方法 69

3.3.5 清除栈的高级使用 69

3.4.1 层次结构 70

3.4 描述符 70

3.4.2 不可修改的API 72

3.4.3 可修改的API 73

3.4.4 文字 73

3.4.5 使用描述符 74

3.4.6 作为参数和返回类型的描述符 77

3.4.7 包描述符 79

3.5 集合类 80

3.5.1 RArray和RPointerArray类型 81

3.5.2 CArray类型 86

3.6 结合使用异步服务和活动对象 94

3.6.1 活动规划器 95

3.6.2 活动对象 96

3.6.3 实现活动对象 97

3.6.4 实例 98

3.6.5 常见的活动对象缺陷 106

3.7 文件、流和存储 107

3.7.1 文件 107

3.7.2 RFs API 108

3.7.3 RFile API 111

3.7.4 流 113

3.7.5 存储 118

3.8 客户/服务器架构 124

3.8.1 服务器会话 125

3.8.2 服务器会话和进程间通信 125

3.8.3 服务器综述 127

3.8.4 子会话 128

3.9 小结 129

第4章 应用程序设计 130

4.1 应用程序框架 131

4.2 应用程序架构 133

4.2.1 核心应用程序类 133

4.2.2 应用程序初始化 134

4.2.3 重要的AppUi方法 136

4.2.4 设计应用程序UI 137

4.2.5 基于控件的传统Symbian OS架构 138

4.2.6 基于对话框的架构 142

4.2.7 Avkon视图切换架构 144

4.2.8 选择适当的应用程序架构 149

4.2.9 文件处理 151

4.3 分离应用程序UI和引擎 152

4.4 ECom 156

4.4.1 ECom的概念性概述 157

4.4.2 ECom接口 158

4.4.3 ECom DLL 159

4.5.1 用于开发人员的一般指导原则 161

4.5 国际化 161

4.5.2 本地化的OS支持 163

4.6 良好的应用程序行为 164

4.6.1 采用怀疑的和批评的开发方法 164

4.6.2 处理Window服务器生成的事件 165

4.6.3 总是恰当地退出应用程序 165

4.6.4 在保存数据前检查磁盘空间 166

4.6.5 其他提示和技巧 166

4.7 小结 167

第5章 应用程序的UI组件 168

5.1.2 简单控件和复合控件 169

5.1 控件 169

5.1.1 控件和窗口 169

5.1.3 窗口的所有权 171

5.1.4 创建简单控件 172

5.1.5 创建复合控件 174

5.1.6 建立控件间的关系 177

5.2 皮肤 178

5.2.1 强制性支持皮肤的控件 178

5.2.4 不识别皮肤的控件 179

5.2.5 定义识别皮肤的控件 179

5.2.3 沿用皮肤的控件 179

5.2.2 选择性支持皮肤的控件 179

5.3 事件处理 180

5.3.1 按键事件 180

5.3.2 重绘事件 182

5.3.3 观察器 183

5.4 资源文件 184

5.4.1 资源文件的语法 184

5.4.2 资源文件的结构 186

5.5 菜单 191

5.5.1 子菜单 192

5.5.2 菜单基础 192

5.5.3 动态菜单 196

5.5.4 上下文敏感菜单 197

5.6 面板 199

5.6.1 状态面板 199

5.6.2 标题面板 203

5.6.3 上下文面板 206

5.6.4 导航面板 208

5.6.5 主面板 218

5.6.6 软键面板 218

5.7 小结 218

6.1 对话框的共性 219

第6章 对话框 219

6.2 标准对话框 220

6.2.1 创建简单对话框 220

6.2.2 多页对话框 225

6.2.3 为对话框定义菜单 227

6.2.4 在对话框中使用自定义控件 227

6.3 窗体 229

6.3.1 窗体行 230

6.3.2 窗体软键 230

6.3.3 在应用程序中创建窗体 232

6.4 通知 235

6.4.1 包装式通知 236

6.4.2 自定义通知 237

6.4.3 等待通知 239

6.4.4 进度通知 242

6.4.5 全局通知 246

6.5 查询 247

6.5.1 数据查询 248

6.5.2 列表查询 250

6.5.3 使用全局查询 252

6.6 列表对话框 254

6.7 小结 257

第7章 列表 258

7.2 竖向列表 259

7.1 列表基础 259

7.2.1 选择列表 260

7.2.2 菜单列表 260

7.2.3 可标记列表 261

7.2.4 多选列表 261

7.2.5 列表选项和字段 261

7.2.6 在列表中查找选项 262

7.3 使用竖向列表 262

7.3.1 基本列表 262

7.3.2 动态列表 268

7.3.3 可标记列表 270

7.3.4 弹出菜单列表 272

7.4 网格 275

7.4.1 月历网格 276

7.4.2 收藏夹网格 276

7.4.3 GMS网格 277

7.5 使用网格 277

7.5.1 网格基础 277

7.5.2 可标记网格 283

7.6 设置列表 284

7.7 使用设置列表 286

7.8 小结 296

第8章 编辑器 297

8.1 文本编辑器 298

8.1.1 尺寸和输入容量 300

8.1.2 过滤键盘输入 300

8.1.3 提供对附加字符的映射 301

8.1.4 属性 303

8.1.5 配置无格式文本编辑器 303

8.1.6 配置多格式文本编辑器 307

8.1.7 使用样式 313

8.2 数值编辑器 313

8.3 密码编辑器 317

8.4 多字段数值编辑器 318

8.4.1 IP地址编辑器 319

8.4.2 数字编辑器 319

8.4.3 范围编辑器 319

8.4.4 时间编辑器 319

8.4.5 日期编辑器 319

8.4.6 时间和日期编辑器 320

8.4.7 持续期编辑器 320

8.4.8 时间偏移量编辑器 320

8.4.9 使用MFNE 320

8.5 小结 321

第9章 通信基础知识 323

9.1 串行通信 324

9.2 套接字 329

9.2.1 Series 60的套接字 330

9.2.2 客户端和服务器 330

9.2.3 断开式和连接式套接字 330

9.2.4 连接式套接字 331

9.2.5 安全套接字 339

9.3 TCP/IP 344

9.3.1 IPv6 344

9.3.2 Series 60的TCP/IP编程 344

9.3.4 多重连接 345

9.3.3 CommDB 345

9.4 红外线 350

9.4.1 IrDA栈 350

9.4.2 Series 60设备上的红外线编程 351

9.5 蓝牙 353

9.5.1 蓝牙概述 354

9.5.2 蓝牙应用程序实例 355

9.5.3 服务发布 356

9.5.4 蓝牙安全 358

9.5.5 设备和服务的搜寻 359

9.5.6 蓝牙套接字通信 364

9.6 小结 365

第10章 高级通信技术 367

10.1 HTTP 368

10.2 WAP 376

10.2.1 WAP架构 377

10.2.2 Series 60实现 377

10.3 消息传送 381

10.3.1 消息传送的重要概念 382

10.3.2 关键消息类及数据类型 384

10.3.3 消息传送API 385

10.3.4 使用Client MTM API 386

10.3.5 使用Send-As API 396

10.3.6 使用CSendAppUi 400

10.3.7 监视到达的信息 407

10.4 通话 410

10.4.1 使用ETelAPI 410

10.4.2 起始工作 411

10.4.3 建立通话 412

10.4.4 接听电话 414

10.4.5 获取上次拨打的号码 416

10.5 小结 417

第11章 多媒体:图形和音频 418

11.1.1 窗口服务器 419

11.1 Series 60图形架构概述 419

11.1.2 字体位图服务器 421

11.1.3 窗口服务器与字体位图服务器 421

11.1.4 多媒体服务器 421

11.2 绘图基础 422

11.2.1 屏幕的坐标和几何学 424

11.2.2 图形设备和图形上下文 425

11.2.3 颜色和显示模式 426

11.2.4 画笔和画刷 428

11.2.5 窗口中的视图及其与CCoeControl的关系 428

11.3 字体和文本 429

11.3.1 文本和字体度量 430

11.3.3 使用核心字体类枚举所有可用字体 431

11.3.2 核心字体类和函数 431

11.3.4 文本效果 432

11.4 图形 433

11.4.1 矩形 434

11.4.2 椭圆 434

11.4.3 弧和扇形 434

11.4.4 多边形 435

11.5 位图 436

11.5.1 为应用程序生成位图 436

11.5.3 位图遮罩 438

11.5.2 装载和绘制位图 438

11.5.4 位图函数 439

11.6 动画 439

11.6.1 动画架构 440

11.6.2 离屏位图和双缓冲 442

11.6.3 客户端方式处理动画 443

11.7 直接屏幕访问 444

11.7.1 架构概述 445

11.7.2 直接屏幕访问的关键类 446

11.7.3 实现上的考虑 448

11.8.1 图像转换 449

11.8 图像处理 449

11.8.2 图像旋转 455

11.8.3 图像缩放 456

11.9 音频 457

11.9.1 录音 458

11.9.2 音频声音 461

11.9.3 音频数据 462

11.9.4 流化 463

11.10 小结 465

第12章 使用应用程序视图、引擎和关键系统API 466

12.1 使用标准应用程序视图 467

12.1.1 电话簿视图切换 468

12.1.2 日历视图切换 469

12.1.3 照相机视图切换 469

12.1.4 相册视图切换 470

12.1.5 个人资料视图切换 470

12.1.6 消息视图切换 470

12.1.7 不可切换的应用程序 470

12.2 应用程序引擎 471

12.2.1 日志引擎 472

12.2.2 照相机API 474

12.2.3 电话簿引擎 477

12.2.4 压缩商业卡和vCard 482

12.2.5 日历引擎的访问 483

12.2.6 相册引擎 489

12.3 使用系统功能 491

12.3.1 硬件抽象层 491

12.3.2 系统代理 493

12.3.3 振动API支持 494

12.4 小结 495

第13章 测试和调试 496

13.1 质量保证 497

13.1.1 编码标准 497

13.1.2 防御性编程 498

13.2 测试 501

13.2.1 测试策略 502

13.2.2 测试工具和测试技术 504

13.2.3 在目标机和模拟器上的测试区别 510

13.2.4 测试装置 513

13.3 调试 517

13.3.1 在模拟器上调试应用程序 518

13.3.2 在目标机上调试应用程序 522

13.4 小结 525

附录 模拟器快捷键 526

术语表 529

参考文献 541