图书介绍

Symbian OS C++手机应用开发 第3卷PDF|Epub|txt|kindle电子书版本网盘下载

Symbian OS C++手机应用开发 第3卷
  • (美)RichardHarrison,MarkShackman著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115204417
  • 出版时间:2009
  • 标注页数:516页
  • 文件大小:160MB
  • 文件页数:538页
  • 主题词:C语言-程序设计-应用-移动通信-携带电话机

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 起步1

1.1使用仿真器1

1.1.1启动仿真器1

1.1.2GUI样式2

1.2HelloWorld之文本版本4

1.2.1程序hellotext5

1.2.2项目规范文件7

1.2.3组件定义文件8

1.2.4从命令行生成8

1.2.5使用多个SDK10

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本书覆盖的API26

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.4API34

3.4.1函数类型35

3.4.2DLL和其他API元素35

3.4.3导出函数36

3.4.4虚函数和API36

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把二进制数据放到_LIT85

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

5.11描述符的正确使用88

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

5.11.2以引用传递TDesC和TDes88

5.11.3声明TDesC时不要忽略了const89

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等待阶段1104

6.1.3键盘事件调度阶段104

6.1.4等待阶段2105

6.1.5定时器事件调度阶段105

6.1.6等待阶段3105

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设置已完成的请求的状态为KRequestPending124

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()中使用宏TRAP127

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

6.9.8用operator=()赋值TRequestStatus127

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.7RFileBuf143

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客户端—服务器会话IPC162

8.1.2发布和订阅IPC163

8.1.3消息队列IPC165

8.2客户端—服务器IPC166

8.2.1建立会话167

8.2.2启动服务器167

8.2.3使用会话168

8.2.4清理170

8.2.5会话和子会话170

8.3发布和订阅IPC171

8.3.1拥有属性171

8.3.2使用属性172

8.3.3决定性173

8.4消息队列IPC173

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++IDE194

10.2.2CodeWarriorIDE195

10.2.3仿真器调试键196

10.2.4仿真器设置197

10.2.5仿真器测试证书198

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

10.2.7日志200

10.2.8使用eshell201

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应用程序UI215

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通过CCoeEnv262

13.10.2通过BAFI262

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视图ID268

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视图ID277

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对话框API321

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.2CGraphicsContextAPI331

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.1CONE342

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深入介绍GDI370

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.3RDBMS396

19.1.4任务调度器396

19.1.5EZLIB396

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加载多态DLL400

19.2.5管理插件DLL401

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消息MTM408

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.5email432

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使用DevSound458

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照相机API472

21.3.1选择相机473

21.3.2配置照相机473

21.3.3显示取景器474

21.3.4捕获静态图像475

21.4调谐器API477

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客户端API493

22.3.2从语句中返回数据库500

22.3.3平台安全506

22.4Symbian操作系统错误码508

22.5小结509

附录A开发人员资源510

术语表514

参考文献516

热门推荐