图书介绍

SymbianOSC++编程诀窍

  • [美] 奥布里 等 著;杜青 译
  • 出版社: 清华大学出版社
  • ISBN:9787302216131
  • 版次:1
  • 商品编码:10080460
  • 包装:平装
  • 丛书名: 移动与嵌入式开发技术
  • 外文名称:Quick Recipes on Symbian OS: Mastering C++ Smartphone Development
  • 开本:16开
  • 出版时间:2010-01-01
  • 用纸:胶版纸
  • 页数:297
  • 字数:487000
  • 正文语种:中文

微信扫码下载

手机扫码下载

电脑下载PDF

高速下载 普通下载

赞助商链接

图书目录

第1章 入门和设置 1
1.1 工具:您需要什么以及从哪里获得 1
1.1.1 系统需求 1
1.1.2 IDE 2
1.1.3 SDK 2
1.1.4 编译器 2
1.2 当等待安装时 2
1.2.1 Carbide.c++ 2
1.2.2 开发社区 3
1.2.3 移动开发的概念 3
1.2.4 ARM硬件 3
1.2.5 模拟器 4
1.3 安装结束后 5
1.3.1 命令行工具 5
1.3.2 SDK的目录结构 5
1.3.3 模拟器 5

第2章 快速上手 7
2.1 Hello World项目模板 7
2.2 运行Carbide.c++ IDE 7
2.3 生成Hello World项目 8
2.4 构建Hello World项目 10
2.5 在模拟器上运行Hello World程序 11
2.6 在设备上运行Hello World程序 13
2.7 修改Hello World项目 14
2.7.1 添加一个新的菜单项 14
2.7.2 处理菜单事件 16
2.8 Carbide.c++高级议题 18
2.8.1 修改项目文件 18
2.8.2 导入项目文件 20
2.8.3 改变认证/密钥对 21
2.9 链接 23

第3章 Symbian OS开发基础 25
3.1 Symbian OS的基本数据类型 25
3.2 Symbian OS的类习俗 26
3.2.1 T类 26
3.2.2 C类 27
3.2.3 R类 27
3.2.4 M类 27
3.2.5 静态类 28
3.3 异常退出和异常处理 28
3.3.1 严重错误Panic和异常退出的区别 29
3.3.2 TRAP和TRAPD宏 29
3.3.3 是什么造成了异常退出 30
3.3.4 new(ELeave) 30
3.4 清除栈 31
3.5 清除栈常见问题:更多信息 32
3.5.1 为什么PushL()会异常退出 32
3.5.2 在使用清除栈的时候为什么会出现严重错误 33
3.5.3 当代码运行出TRAP以后为什么会出现严重错误 33
3.5.4 当调用CleanupStack::Pop()时为什么会产生严重错误 33
3.5.5 应该如何综合使用异常退出、标准异常处理以及清除栈 34
3.6 两阶段构造 34
3.7 瘦模板 36
3.8 描述符——Symbian OS字符串 37
3.8.1 字符大小 38
3.8.2 TDesC 38
3.8.3 TDes 38
3.8.4 描述符的继承类 38
3.8.5 指针型描述符:TPtrC和TPtr 39
3.8.6 基于栈缓存的描述符TBufC和TBuf 39
3.8.7 动态描述符:HBufC和RBuf 40
3.8.8 使用RBuf 41
3.8.9 字面描述符 41
3.8.10 描述符类型:总结 42
3.8.11 使用描述符API 43
3.8.12 用作函数参数和返回值的描述符 44
3.9 Symbian OS中的数组 45
3.9.1 静态数组 45
3.9.2 动态数组 45
3.9.3 RArray类的清除 46
3.9.4 什么时候应该使用CArrayX数组 47
3.9.5 排序和查找 47
3.10 可执行文件 48
3.11 平台安全:能力 49
3.12 平台安全:数据隔离 51
3.13 栈大小和堆大小 52
3.14 流 52
3.15 活动对象 54
3.15.1 抢占 55
3.15.2 CActive类 55
3.15.3 TRequestStatus类 57
3.15.4 活动调度器 57
3.15.5 使用活动对象时的常见问题 59
3.16 线程 60
3.17 时钟和回调函数 60
3.18 小结 61

第4章 Symbian C++诀窍 63
4.1 文件处理 64
4.1.1 初级诀窍 64
【诀窍4-1】获取文件服务器会话 65
【诀窍4-2】向文件写二进制数据 65
【诀窍4-3】从文件读取二进制数据 67
【诀窍4-4】从文件读文本 69
4.1.2 中级诀窍 71
【诀窍4-5】获取私有文件夹路径 71
【诀窍4-6】从文件流读写 74
【诀窍4-7】从文件流读写类成员 79
4.1.3 高级诀窍 81
【诀窍4-8】从文件存储读写 81
【诀窍4-9】进程间共享文件 86
4.1.4 资源 88
4.2 联系人和日历 89
4.2.1 在您开始使用联系人前 89
4.2.2 在您开始使用日历前 90
4.2.3 初级诀窍 90
【诀窍4-10】写联系人数据 90
【诀窍4-11】读联系人数据 92
【诀窍4-12】增加新联系人 94
【诀窍4-13】删除联系人 95
【诀窍4-14】修改日历中的事件 96
【诀窍4-15】添加新的日历事件 98
【诀窍4-16】删除日历事件 101
4.2.4 中级诀窍 102
【诀窍4-17】联系人排序 102
【诀窍4-18】使用vCard格式 103
【诀窍4-19】使用vCal格式 105
【诀窍4-20】创建重复的日历事件 107
4.2.5 高级诀窍 109
【诀窍4-21】查找联系人 109
【诀窍4-22】把联系人移动到另一个组中 112
【诀窍4-23】探询日历是否为空 114
【诀窍4-24】获取出席者名单 115
4.3 网络 117
4.3.1 上手 118
4.3.2 配置环境 119
4.3.3 HTTP 121
4.3.4 InetProtUtils 121
4.3.5 初级诀窍 122
【诀窍4-25】用TCP套接字收发数据 122
【诀窍4-26】强制连接使用某载体 124
【诀窍4-27】强制连接使用某因特网接入供应商 125
【诀窍4-28】解析域名 127
【诀窍4-29】使用HTTP的GET请求 129
【诀窍4-30】解析URI 132
【诀窍4-31】创建URI 134
4.3.6 中级诀窍 136
【诀窍4-32】用TCP侦听到达的连接 136
【诀窍4-33】监视连接状态 138
【诀窍4-34】获取激活的连接信息 140
【诀窍4-35】使用安全套接字 141
【诀窍4-36】使用HTTP的POST请求 143
【诀窍4-37】设置HTTP的高级属性 146
【诀窍4-38】 从URI提取本地文件名 147
4.3.7 高级诀窍——获取HTTP代理信息 148
【诀窍4-39】获取HTTP代理信息 148
4.3.8 资源 150
4.4 短信息 151
4.4.1 支持的载体 151
4.4.2 SendAs 151
4.4.3 服务 152
4.4.4 短信息存储 152
4.4.5 写短信息应用程序的小提示 153
4.4.6 关于本章的诀窍 154
4.4.7 诀窍 155
【诀窍4-40】初始化应用程序以使用短信息 155
【诀窍4-41】创建文件夹 157
【诀窍4-42】创建短信息 159
【诀窍4-43】读取短信息的细节 160
【诀窍4-44】编辑短信息 162
【诀窍4-45】获取并编辑短信息的设置 163
【诀窍4-46】拷贝短信息 164
【诀窍4-47】移动短信息 166
【诀窍4-48】发送短信息 167
【诀窍4-49】删除短信息 168
【诀窍4-50】处理收到的短信息 169
4.4.8 资源 170
4.5 图形和绘图 171
4.5.1 初级诀窍 172
【诀窍4-51】画线和画几何形状 172
【诀窍4-52】绘制背景色或填充几何形状 173
【诀窍4-53】载入并绘制MBM或MIF图像 174
【诀窍4-54】绘制一个有透明区域的图像 175
4.5.2 中级诀窍 176
【诀窍4-55】载入JPG或PNG图像 176
【诀窍4-56】在屏幕上绘制文本 177
【诀窍4-57】载入字体 179
【诀窍4-58】在一个控件中绘制另一个控件 180
4.5.3 高级诀窍 181
【诀窍4-59】绘制超出屏幕的图像(Off-Screen) 181
【诀窍4-60】载入GIF格式的动画图像 182
【诀窍4-61】以皮肤为背景绘制(仅S60支持) 185
【诀窍4-62】在Symbian OS应用程序框架之外绘图 186
【诀窍4-63】直接往屏幕上绘图 188
4.6 用OpenGL ES绘制3D图形 189
4.6.1 OpenGL ES基础 190
4.6.2 从OpenGL到OpenGL ES 191
4.6.3 初级诀窍 191
【诀窍4-64】全屏设置 191
【诀窍4-65】显示3D图形对象 194
【诀窍4-66】平移3D图形对象 198
【诀窍4-67】翻转3D图形对象 199
4.6.4 中级诀窍 200
【诀窍4-68】对3D图形对象应用纹理 200
【诀窍4-69】部分屏幕设置 201
4.6.5 高级诀窍 203
【诀窍4-70】动态动画(Animate a Scene) 203
【诀窍4-71】适配器性能 206
4.6.6 资源 207
4.7 多媒体 208
4.7.1 初级诀窍 209
【诀窍4-72】播放音频剪辑(Audio Clip) 209
【诀窍4-73】使用基本的音频操作 211
【诀窍4-74】播放提示音(Audio Tone) 212
【诀窍4-75】播放MIDI文件 213
4.7.2 中级诀窍 214
【诀窍4-76】取得默认的多媒体文件存放路径 214
【诀窍4-77】播放视频剪辑 217
【诀窍4-78】音频流 218
4.7.3 高级诀窍 220
【诀窍4-79】录制音频 220
【诀窍4-80】录制通话内容 222
【诀窍4-81】显示照相机的取景 222
【诀窍4-82】用照相机拍摄静物 225
【诀窍4-83】录制视频 226
4.7.4 资源 228
4.8 通话 229
4.8.1 初级诀窍 233
【诀窍4-84】处理手机通话 233
【诀窍4-85】发送DTMF信息(DTMF Tones)至通话线路 234
【诀窍4-86】监测通话线路状态 234
【诀窍4-87】获取网络信号强度 235
【诀窍4-88】获取电池状态 236
【诀窍4-89】获取设备的IMEI号 236
【诀窍4-90】获取当前网络名称 237
【诀窍4-91】获取当前运营商名称 237
【诀窍4-92】获取飞行模式状态 238
【诀窍4-93】获取网络注册状态 238
4.8.2 中级诀窍 239
【诀窍4-94】获取来电/去电的电话号码 239
【诀窍4-95】匹配人名和相应的电话号码 240
【诀窍4-96】从SIM卡中获取IMSI号 241
【诀窍4-97】获取手机的锁定(Phone Lock)状态 241
4.8.3 高级诀窍 242
【诀窍4-98】获取信元编号和网络信息 242
【诀窍4-99】获取呼叫转接(Call Forwarding)状态 243
【诀窍4-100】获取呼叫限制(Call Barring)状态 244
4.9 互联 244
4.9.1 初级诀窍 245
【诀窍4-101】通过红外(IrDA)打印 245
【诀窍4-102】查找红外设备 246
【诀窍4-103】查找蓝牙设备 247
【诀窍4-104】查找为特定设备提供的蓝牙服务 249
4.9.2 中级诀窍 251
【诀窍4-105】使用套接字API 251
【诀窍4-106】创建简单的OBEX客户端 254
【诀窍4-107】创建简单的基于蓝牙的OBEX服务器 256
4.9.3 高级诀窍——广播蓝牙服务 257
【诀窍4-108】广播蓝牙服务 257
4.10 基于位置的服务 259
4.10.1 初级诀窍 261
【诀窍4-109】取得可用位置技术模块的列表 261
【诀窍4-110】取得当前模块的状态信息 263
【诀窍4-111】获取模块状态改变的通知 264
【诀窍4-112】设置模块选择标准 266
4.10.2 中级诀窍 267
【诀窍4-113】请求位置信息 267
【诀窍4-114】请求扩展的位置信息 273

第5章 更上一层楼 275
5.1 高级技术 275
5.1.1 发布和订阅:系统范围的属性 275
5.1.2 创建一个服务器进程:文件共享 276
5.1.3 高级系统中所特定的用户接口 277
5.1.4 高级短信息:一种新协议 278
5.2 仅适合Symbian合作伙伴 279
5.2.1 文件服务器插件:独立的文件系统 279
5.2.2 高级多媒体:额外的格式流 280
5.3 高级应用程序部署 280
5.3.1 自动安装 280
5.3.2 定制安装 281
5.3.3 嵌入的二进制集 281

第6章 发布程序 283
6.1 在发布程序前要做什么 283
6.1.1 对其观察 283
6.1.2 对其测试 285
6.1.3 对其优化 286
6.1.4 对其保护 287
6.1.5 对其签名 288
6.1.6 对其国际化 290
6.2 如何分发应用程序 292
6.2.1 网络运营商 292
6.2.2 独立的软件渠道 293
6.2.3 Content Aggregator 294
6.2.4 预安装应用程序 294
6.2.5 开源 294
6.3 下一步怎么做 295
6.3.1 Symbian Press图书 295
6.3.2 同Symbian合作 296
6.3.3 在Symbian生态系统范围内的合作 297

查看全部 ↓

精品推荐