当前位置:首页 > 工业技术
Symbian OS C++手机应用开发  第3卷
Symbian OS C++手机应用开发  第3卷

Symbian OS C++手机应用开发 第3卷PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)RichardHarrison,MarkShackman著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115204417
  • 页数:516 页
图书介绍:本书深入介绍了Symbian操作系统C++手机开发的各方面知识,吸收了Symbian工程师的丰富经验,为使用Symbian操作系统v9.0及其以上版本的手机编写C++应用程序提供了完整的基础知识体系。
《Symbian OS C++手机应用开发 第3卷》目录

第1章 起步 1

1.1使用仿真器 1

1.1.1启动仿真器 1

1.1.2GUI样式 2

1.2HelloWorld之文本版本 4

1.2.1程序hellotext 5

1.2.2项目规范文件 7

1.2.3组件定义文件 8

1.2.4从命令行生成 8

1.2.5使用多个SDK 10

1.2.6在Carbide.c++IDE中生成 10

1.3小结 10

第2章 Symbian操作系统概述 12

2.1Symbian操作系统基础 12

2.1.1关于内核 13

2.1.2线程和进程模型 16

2.1.3用户内存及内存管理 17

2.1.4Symbian操作系统服务器 17

2.1.5Symbian操作系统进程间通信 18

2.1.6电源管理 18

2.1.7定时器 19

2.1.8可执行程序和共享库 19

2.1.9可写静态数据的优化 20

2.1.10文件和文件系统 20

2.1.11平台安全 21

2.2框架基础 21

2.2.1Symbian操作系统C++ 21

2.2.2并发和活动对象 21

2.2.3Symbian操作系统C++异常处理 24

2.2.4Symbian操作系统C++命名规则 25

2.3本书覆盖的API 26

2.4小结 27

第3章 Symbian操作系统C++ 28

3.1基本数据类型 28

3.2命名约定 29

3.2.1类名 29

3.2.2数据名 30

3.2.3函数名 30

3.2.4宏名 31

3.2.5间隔(Indentation)、分行(LineBreaks)和括号(Bracketing) 31

3.3函数 33

3.4API 34

3.4.1函数类型 35

3.4.2DLL和其他API元素 35

3.4.3导出函数 36

3.4.4虚函数和API 36

3.5模板 37

3.5.1瘦模板模式 37

3.5.2模板中的数字 38

3.6类型转换 38

3.7类 38

3.7.1接口 39

3.7.2不良做法 39

3.8设计模式 40

3.9小结 40

第4章 对象——内存管理、清理和错误处理 42

4.1对象的创建与销毁 42

4.1.1堆(动态对象) 43

4.1.2程序栈(自动对象) 44

4.2Symbian操作系统中的类的分类 45

4.2.1T类和C类 45

4.2.2R类 46

4.2.3M类 47

4.3错误处理 48

4.3.1框架能处理的错误类型 48

4.3.2严重错误 49

4.3.3异常退出与捕获机制 50

4.4清理栈 51

4.4.1使用清理栈 52

4.4.2不必要时不要使用清理栈 53

4.4.3如果CleanupStack∷PushL()失败怎么办 54

4.4.4CBase和清理栈 54

4.4.5清理栈上的R类 54

4.5两阶段构造 55

4.5.1分离安全构造和不安全构造 55

4.5.2在NewL()和NewLC()中封装ConstructL() 57

4.6小结 58

第5章 描述符 59

5.1概述 59

5.2描述符内部结构 61

5.3文字 63

5.4栈描述符 63

5.5指针描述符 64

5.5.1TPtrC描述符 65

5.5.2类型2TPtr描述符 65

5.5.3类型4TPtr描述符 66

5.5.4使用TPtr∷Set() 66

5.6堆描述符 67

5.6.1HBuf描述符 67

5.6.2RBuf描述符 69

5.7窄、宽、中性的描述符 73

5.8描述符和二进制数据 74

5.9描述符函数 75

5.9.1描述符作为参数 75

5.9.2从函数中返回描述符 78

5.10描述符的一些操作 83

5.10.1描述符和文本控制台 83

5.10.2转换描述符到数字 84

5.10.3转换数字到描述符 84

5.10.4外部化和内部化描述符 84

5.10.5把二进制数据放到_LIT 85

5.10.6描述符和字符串的转换 85

5.11描述符的正确使用 88

5.11.1不要声明TDesC或者Tdes变量 88

5.11.2以引用传递TDesC和TDes 88

5.11.3声明TDesC时不要忽略了const 89

5.11.4运行时不要设置缓冲描述符的大小 89

5.11.5不要将大的栈描述符放置在栈上 89

5.11.6不要在堆上分配大的栈描述符 90

5.11.7警惕TPtr∷=()(操作符) 90

5.11.8警惕TPtr和C++传统不一致处 90

5.11.9正确使用HBufC∷Des() 91

5.11.10从描述符创建HBufC时使用Alloc() 91

5.11.11警惕HBufC∷ReAllocL()和HBufC∷ReAlloc() 91

5.11.12格式化时注意%s和%S的区别 93

5.12操控描述符 95

5.12.1折叠比较 95

5.12.2校对比较 95

5.12.3基本函数 96

5.12.4操作数据 96

5.12.5子字符串函数 96

5.12.6格式化 96

5.12.7TDesC函数 97

5.12.8TDes函数 97

5.12.9HBufC函数 99

5.12.10RBuf函数 99

5.12.11TBuf函数 100

5.12.12TBufC函数 100

5.12.13TPtr函数 100

5.12.14TPtrC函数 100

5.13小结 101

第6章 活动对象 102

6.1异步服务 102

6.1.1初始化阶段 103

6.1.2等待阶段1 104

6.1.3键盘事件调度阶段 104

6.1.4等待阶段2 105

6.1.5定时器事件调度阶段 105

6.1.6等待阶段3 105

6.2多任务处理和抢占 105

6.3更深入地研究活动对象 106

6.3.1“Sethello”菜单项 107

6.3.2“Startflashing”菜单项 111

6.4工作方式 112

6.5活动对象优先级 115

6.6取消活动对象 118

6.6.1处理一个不能运行的请求 119

6.6.2正常处理后完成请求 119

6.6.3取消请求发生较早 120

6.6.4取消请求发生较晚 121

6.6.5服务提供者异常终止时取消请求 121

6.6.6异步服务器资源耗尽时取消请求 121

6.7启动和终止调度器 122

6.8理解游离信号 122

6.8.1忘记设置对象为激活的 122

6.8.2忘记设置请求为挂起 123

6.8.3第二个请求 123

6.8.4完成请求两次 123

6.8.5以KRequestPending完成请求 124

6.8.6设置已完成的请求的状态为KRequestPending 124

6.8.7使用RThread∷RequestSignal()和活动对象框架 125

6.8.8使用活动对象并调用User∷WaitForRequest() 125

6.8.9将未完成活动对象从队列中移出 125

6.8.10做出异步请求后调用异常退出函数 125

6.9其他常见活动对象错误 126

6.9.1直接调用DoCancel() 126

6.9.2从析构函数调用Cancel()失败 126

6.9.3调用Cancel()前检查IsActive() 126

6.9.4没有正确实现DoCancel() 127

6.9.5忽略错误处理 127

6.9.6在RunL()中使用宏TRAP 127

6.9.7在自我析构的RunL()中调用异常退出代码 127

6.9.8用operator=()赋值TRequestStatus 127

6.9.9异常退出异步函数 128

6.9.10从异步函数返回错误值 128

6.10状态机 128

6.11长时间运行任务和活动对象 131

6.12小结 135

第7章 文件和文件系统 136

7.1基于文件的应用程序 136

7.2驱动盘和文件类型 137

7.3文件系统服务 137

7.3.1文件规范 137

7.3.2操作文件名 138

7.3.3文件服务器会话 138

7.3.4目录 140

7.3.5文件 141

7.3.6共享文件句柄 142

7.3.7RFileBuf 143

7.3.8结论 144

7.4流 145

7.4.1基类 145

7.4.2使用操作符<<和>> 146

7.4.3内部化和外部化 146

7.4.4写入和读取流函数 148

7.5存储 150

7.5.1创建持久性存储 152

7.5.2读取持久性存储 153

7.5.3永久性存储 154

7.5.4嵌套存储 155

7.5.5存储和应用程序架构 157

7.6词典存储和INI文件 159

7.7小结 160

第8章 进程间通信机制 162

8.1概述 162

8.1.1客户端—服务器会话IPC 162

8.1.2发布和订阅IPC 163

8.1.3消息队列IPC 165

8.2客户端—服务器IPC 166

8.2.1建立会话 167

8.2.2启动服务器 167

8.2.3使用会话 168

8.2.4清理 170

8.2.5会话和子会话 170

8.3发布和订阅IPC 171

8.3.1拥有属性 171

8.3.2使用属性 172

8.3.3决定性 173

8.4消息队列IPC 173

8.4.1创建消息队列 174

8.4.2使用消息队列 174

8.5应该使用哪种IPC机制 175

8.5.1客户端—服务器 175

8.5.2发布和订阅 175

8.5.3消息队列 176

8.6小结 176

第9章 平台安全和应用程序发布 178

9.1释放应用程序 178

9.2平台安全的工作方式 178

9.2.1能力 179

9.2.2通过Symbian签名授权 179

9.2.3不带Symbian签名授权 179

9.2.4一次性授予 180

9.3如何支持平台安全 180

9.3.1项目定义文件 180

9.3.2安全标识 180

9.3.3数据锁定 181

9.4准备发布应用程序 181

9.4.1生成应用程序 181

9.4.2产生打包文件 182

9.4.3生成最终的SIS文件 183

9.5Symbian签名概述 184

9.5.1测试标准 184

9.5.2签名或者不签名 185

9.5.3开发者证书 186

9.5.4签名流程 187

9.6安装SIS文件 188

9.7能力列表 188

9.8小结 189

第10章 调试和仿真器 190

10.1使用仿真器 190

10.1.1磁盘映射 191

10.1.2仿真器按键 192

10.1.3通信 192

10.2仿真器调试 194

10.2.1Carbide.c++IDE 194

10.2.2CodeWarriorIDE 195

10.2.3仿真器调试键 196

10.2.4仿真器设置 197

10.2.5仿真器测试证书 198

10.2.6尽可能发挥仿真器日志文件的作用 198

10.2.7日志 200

10.2.8使用eshell 201

10.2.9使用DEXC工具 202

10.2.10内存测试 203

10.3联机调试 205

10.3.1联机调试代理 205

10.3.2仿真器调试与联机调试 205

10.4其他工具 206

10.5小结 207

第11章 应用程序框架 208

11.1Symbian操作系统应用程序框架 208

11.2S60和UIQ平台应用程序框架 209

11.3图形化的“HelloWorld!”程序 210

11.3.1类结构 210

11.3.2产生示例代码 211

11.3.3项目描述文件 211

11.3.4应用程序入口 213

11.3.5Application类 213

11.3.6Document类 214

11.3.7应用程序UI 215

11.3.8应用程序视图 217

11.3.9资源文件 219

11.3.10注册文件 220

11.4小结 221

第12章 简单图形应用程序 222

12.1在S60上实现游戏 223

12.1.1应用程序类 223

12.1.2文档类 224

12.1.3应用程序UI类 224

12.1.4控制器类 227

12.1.5引擎类 230

12.1.6视图类 231

12.1.7命令菜单 237

12.2UIQ3的不同 239

12.2.1应用程序UI类 239

12.2.2视图类 240

12.2.3命令 243

12.2.4持久性 246

12.3小结 247

第13章 资源文件 248

13.1为什么需要针对Symbian的资源编译器 248

13.2资源文件语法 248

13.2.1STRUCT语句 249

13.2.2RESOURCE语句 250

13.2.3ENUM语句 251

13.2.4NAME语句 251

13.3位图和图标 251

13.3.1转换位图 253

13.3.2bmconv工具 254

13.3.3可分级的向量图形 254

13.4更新资源文件 255

13.5应用程序注册文件 255

13.6可本地化的字符串 256

13.7多资源文件 258

13.8编译资源文件 259

13.9已编译资源文件的内容 260

13.10读取资源文件 262

13.10.1通过CCoeEnv 262

13.10.2通过BAFI 262

13.11小结 263

第14章 视图和视图架构 264

14.1视图架构 264

14.1.1UIQ视图 265

14.1.2S60视图 266

14.1.3移植性 266

14.1.4应用程序UI的角色 266

14.1.5默认视图 267

14.1.6观察器 268

14.2MCoeView接口 268

14.2.1视图ID 268

14.2.2构造 269

14.2.3激活和禁用 269

14.3实例应用程序的介绍 269

14.3.1历史视图 270

14.3.2额外的S60考虑 275

14.4创建和管理视图 275

14.4.1构造和注册 275

14.4.2激活和禁用 276

14.5实现MCoeView接口 277

14.5.1视图ID 277

14.5.2激活视图 277

14.5.3禁用视图 279

14.5.4构造视图 279

14.5.5历史视图内容 280

14.6命令菜单 282

14.6.1对UIQ做出的改变 282

14.6.2对S60作出的改变 284

14.7小结 287

第15章 控件 288

15.1什么是控件 288

15.2控件类型 289

15.2.1简单控件 289

15.2.2复合控件 290

15.3控件布局 292

15.4处理键和触笔事件 294

15.4.1键事件 294

15.4.2焦点 298

15.4.3触笔事件 299

15.5观察控件 301

15.6绘制控件 302

15.7备份窗口 307

15.8后台备份窗口 308

15.9变灰控件和不可见控件 309

15.10小结 310

第16章 对话框 311

16.1对话框 311

16.2简单对话框 312

16.2.1简单单页对话框 312

16.2.2标准对话框 313

16.3复杂对话框 314

16.3.1焦点更改 314

16.3.2状态更改 315

16.4单页对话框 315

16.5多页对话框 316

16.5.1UIQ变形 316

16.5.2S60变形 318

16.6对话框API 321

16.6.1资源规范 321

16.6.2框架函数 322

16.7对话框的常用控件 324

16.8对话框中的定制控件 325

16.9小结 327

第17章 图形显示 328

17.1绘图基础 328

17.1.1控件 329

17.1.2获取图形上下文 329

17.1.3绘制矩形 330

17.1.4绘制文本 330

17.1.5垂直对齐 331

17.2CGraphicsContextAPI 331

17.2.1坐标类 332

17.2.2区域相关类 332

17.2.3设置图形上下文 333

17.2.4绘制函数 333

17.3绘制和重绘 335

17.3.1模型、视图和控制器模式 336

17.3.2Draw()约定 337

17.4绘制控件 339

17.4.1绘制到视图的一部分 339

17.4.2DrawNow()模式 341

17.5屏幕共享 342

17.5.1CONE 342

17.5.2拥有窗口和寄宿控件 343

17.5.3复合控件 345

17.5.4绘制的更多知识 346

17.6CCoeControl的绘制支持 350

17.6.1控件环境 350

17.6.2拥有窗口和寄宿控件 351

17.6.3组件控件 352

17.6.4控件位置与大小 352

17.6.5绘制函数 353

17.7特殊效果 354

17.7.1动画 354

17.7.2Uikon调试键 355

17.7.3控件上下文 356

17.7.4滚动 356

17.7.5透明窗口 357

17.8窗口服务器功能 357

17.8.1无闪烁重绘 357

17.8.2重绘存储 358

17.9与设备和尺寸无关的图形 359

17.9.1开发人员对于设备无关代码的探索 360

17.9.2应用程序中与尺寸和目标无关的绘制 360

17.9.3与设备无关的绘制 362

17.9.4深入介绍GDI 370

17.10小结 376

第18章 图形交互 378

18.1按键、触笔和命令的基础知识 378

18.2对于交互的用户需求 379

18.3一些基本抽象 380

18.3.1程序员需求 380

18.3.2复合控件 381

18.3.3键分布和焦点 381

18.3.4变灰和可见性 381

18.3.5验证 382

18.3.6控件观察器 382

18.3.7容器 384

18.4处理键事件 384

18.4.1控件栈 385

18.4.2焦点 386

18.4.3文本光标 387

18.5处理触笔事件 387

18.5.1交互范例 387

18.5.2选取相关性 387

18.5.3抓取触笔按下控件 388

18.5.4捕获触笔 388

18.5.5获得高分辨率的触笔事件 388

18.5.6如何处理触笔事件 389

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

18.6.1应用程序与窗口服务器的通信 390

18.6.2窗口类型 391

18.7小结 393

第19章 插件和扩展性 395

19.1系统服务 395

19.1.1通信和消息服务 395

19.1.2多媒体服务 395

19.1.3RDBMS 396

19.1.4任务调度器 396

19.1.5EZLIB 396

19.1.6XML框架 396

19.1.7系统服务的更多参考 397

19.2什么是插件 397

19.2.1即时消息发送客户端应用程序如何工作 398

19.2.2多态性 398

19.2.3打包二进制 399

19.2.4加载多态DLL 400

19.2.5管理插件DLL 401

19.3ECOM库 402

19.3.1使用ECOM插件 402

19.3.2设计插件接口类 403

19.3.3编写ECOM插件 403

19.3.4集成到一起 406

19.3.5REComSession∷FinalClose() 407

19.3.6ECOM的使用 408

19.3.7参考文献 408

19.4Symbian操作系统中的插件 408

19.4.1消息MTM 408

19.4.2通信扩展模块 408

19.4.3ETel扩展模块 409

19.4.4ESOCK协议模块 409

19.5小结 409

第20章 通信和消息发送服务 410

20.1连三子游戏中的通信 410

20.2控制器和传输间的通信 411

20.3串口通信 413

20.3.1打开串口连接 414

20.3.2通过串口连接交换数据 415

20.3.3红外上的串口通信 416

20.3.4蓝牙上的串口通信 417

20.4基于套接字的通信 417

20.4.1套接字服务器 418

20.4.2基于套接字的红外连接 418

20.4.3基于套接字的蓝牙连接 420

20.4.4使用蓝牙连接两个手机 421

20.5消息发送 429

20.5.1消息服务器 429

20.5.2消息树 430

20.5.3使用SendAs服务器发送消息 430

20.5.4接收消息 431

20.5.5email 432

20.5.6短消息服务(SMS) 433

20.5.7多媒体消息服务(MMS) 434

20.6安全性 438

20.6.1数据验证 439

20.6.2平台安全 440

20.7小结 440

第21章 多媒体服务 441

21.1多媒体框架 441

21.1.1对媒体格式的支持 442

21.1.2API概述 442

21.1.3音频剪辑播放 445

21.1.4通知音频资源的可用性 447

21.1.5音频剪辑录制 448

21.1.6音频流化 452

21.1.7音调播放 455

21.1.8视频播放 456

21.1.9视频录制 457

21.1.10使用DevSound 458

21.1.11编写控制器插件 460

21.2图像转换库 462

21.2.1API概述 462

21.2.2图像解码 463

21.2.3图像编码 467

21.2.4图像变换 472

21.3照相机API 472

21.3.1选择相机 473

21.3.2配置照相机 473

21.3.3显示取景器 474

21.3.4捕获静态图像 475

21.4调谐器API 477

21.4.1调谐 477

21.4.2调谐器音频播放 480

21.4.3调谐器音频录制 480

21.4.4使用RDS数据 481

21.5小结 482

第22章 SQLRDBMS介绍 483

22.1RDBMS概述 483

22.2SQL基础 484

22.2.1基本SQL术语 484

22.2.2更多的SQL功能 485

22.2.3使用多数据库 486

22.2.4存储过程、事件和触发器 487

22.2.5SQL语法 488

22.3SymbianSQL服务器组件架构 492

22.3.1客户端API 493

22.3.2从语句中返回数据库 500

22.3.3平台安全 506

22.4Symbian操作系统错误码 508

22.5小结 509

附录A开发人员资源 510

术语表 514

参考文献 516

相关图书
作者其它书籍
返回顶部