内容简介
第1章 入门和设置
1.1工具:您需要什么以及从哪里获得
1.1.1系统需求
1.1.2 IDE
1.1.3 SDK
1.1.4编译器
1.2当等待安装时
1.2.1 Carbide.c++
1.2.2开发社区
1.2.3移动开发的概念
1.2.4 ARM硬件
1.2.5模拟器
1.3安装结束后
1.3.1命令行工具
1.3.2 SDK的目录结构
1.3.3模拟器
第2章 快速上手
2.1 Hello World项目模板
2.2运行Carbide.c++ IDE
2.3生成Hello World项目
2.4构建Hello World项目
2.5在模拟器上运行Hello World程序
2.6在设备上运行Hello World程序
2.7修改Hello World项目
2.7.1添加一个新的菜单项
2.7.2处理菜单事件
2.8 Carbide.c++高级议题
2.8.1修改项目文件
2.8.2导入项目文件
2.8.3改变认证/密钥对
2.9链接
第3章Symbian OS开发基础
3.1 Symbian OS的基本数据类型
3.2 Symbian OS的类习俗
3.2.1 T类
3.2.2 C类
3.2.3 R类
3.2.4 M类
3.2.5静态类
3.3异常退出和异常处理
3.3.1严重错误Panic和异常退出的区别
3.3.2 TRAP和TRAPD宏
3.3.3是什么造成了异常退出
3.3.4 new(ELeave)
3.4清除栈
3.5清除栈常见问题:更多信息
3.5.1为什么PushL()会异常退出
3.5.2在使用清除栈的时候为什么会出现严重错误
3.5.3当代码运行出TRAP以后为什么会出现严重错误
3.5.4当调用CleanupStack::Pop()时为什么会产生严重错误
3.5.5应该如何综合使用异常退出、标准异常处理以及清除栈
3.6两阶段构造
3.7瘦模板
3.8描述符——Symbian OS字符串
3.8.1字符大小
3.8.2 TDesC
3.8.3 TDes
3.8.4描述符的继承类
3.8.5指针型描述符:TPtrC和TPtr
3.8.6基于栈缓存的描述符TBufC和TBuf
3.8.7动态描述符:HBufC和RBuf
3.8.8使用RBuf
3.8.9字面描述符
3.8.10描述符类型:总结
3.8.11使用描述符API
3.8.12用作函数参数和返回值的描述符
3.9 Symbian OS中的数组
3.9.1静态数组
3.9.2动态数组
3.9.3 RArray类的清除
3.9.4什么时候应该使用CArrayX数组
3.9.5排序和查找
3.10可执行文件
3.11平台安全:能力
3.12平台安全:数据隔离
3.13栈大小和堆大小
3.14流
3.15 活动对象
3.15.1抢占
3.15.2 CActive类
3.15.3 TRequestStatus类
3.15.4活动调度器
3.15.5使用活动对象时的常见问题
3.16线程
3.17时钟和回调函数
3.18小结
第4章Symbian C++诀窍
4.1文件处理
4.1.1初级诀窍
【诀窍4-1获取文件服务器会话
【诀窍4-2】向文件写二进制数据
【诀窍4-3从文件读取二进制数据
【诀窍4-4】从文件读文本
4.1.2中级诀窍
【诀窍4-5】获取私有文件夹路径
【诀窍4-6】从文件流读写
【诀窍4-7】从文件流读写类成员
4.1.3高级诀窍
【诀窍4-8】从文件存储读写
【诀窍4-9】进程间共享文件
4.1.4资源
4.2联系人和日历
4.2.1在您开始使用联系人前
4.2.2在您开始使用日历前
4.2.3初级诀窍
【诀窍4-10】写联系人数据
【诀窍4-11】读联系人数据
【诀窍4-12】增加新联系人
【诀窍4-13】删除联系人
【诀窍4-14】修改日历中的事件
【诀窍4-15】添加新的日历事件
【诀窍4-16】删除日历事件
4.2.4中级诀窍
【诀窍4-17】联系人排序
【诀窍4-18】使用vCard格式
【诀窍4-19】使用vCal格式
【诀窍4-20】创建重复的日历事件
4.25高级诀窍
【诀窍4-21】查找联系人
【诀窍4-22】把联系人移动到另一个组中
【诀窍4-23】探询日历是否为空
【诀窍4-24】获取出席者名单
4.3网络
4.3.1上手
4.3.2配置环境
4.3.3 HTTP
4.3.4 InetProtUtils
4.3.5初级诀窍
【诀窍4-25】用TCP套接字收发数据
【诀窍4-26】强制连接使用某载体
【诀窍4-27】强制连接使用某因特网接入供应商
【诀窍4-28】解析域名
【诀窍4-29】使用HTTP的GET请求
【诀窍4-30解析URI
【诀窍4-31】创建URI
4.3.6中级诀窍
【诀窍4-32】用TCP侦听到达的连接
【诀窍4-33】监视连接状态
【诀窍4-34】获取激活的连接信息
【诀窍4-35使用安全套接字
【诀窍4-36】使用HTTP的POST请求
【诀窍4-37】设置HTTP的高级属性
【诀窍4-38】从URI提取本地文件名
4.3.7高级诀窍——获取HTTP代理信息
【诀窍4-39】获取HTTP代理信息
4.3.8资源
4.4短信息
4.4.1支持的载体
4.4.2 SendAs
4.4.3服务
4.4.4短信息存储
4.4.5写短信息应用程序的小提示
4.4.6 关于本章的诀窍
4.4.7诀窍
【诀窍4-40】初始化应用程序以使用短信息
【诀窍4-41】创建文件夹
【诀窍4-42】创建短信息
【诀窍4-43】读取短信息的细节
【诀窍4-44】编辑短信息
【诀窍4-45】获取并编辑短信息的设置
【诀窍4-46】拷贝短信息
【诀窍4-47】移动短信息
【诀窍4-48】发送短信息
【诀窍4-49】删除短信息
【诀窍4-50】处理收到的短信息
4.4.8资源
4.5图形和绘图
4.5.1初级诀窍
【诀窍4-51】画线和画几何形状
【诀窍4-52】绘制背景色或填充几何形状
【诀窍4-53】载入并绘制MBM或MIF图像
【诀窍4-54】绘制一个有透明区域的图像
4.5.2中级诀窍
【诀窍4-55】载入JPG或PNG图像
【诀窍4-56】在屏幕上绘制文本
【诀窍4-57】载入字体
【诀窍4-58】在一个控件中绘制另一个控件
4.5.3高级诀窍
【诀窍4-59】绘制超出屏幕的图像(Off-Screen)
【诀窍4-60】载入GIF格式的动画图像
【诀窍4-61】以皮肤为背景绘制(仅S60支持)
【诀窍4-62】在Symbian OS应用程序框架之外绘图
【诀窍4-63】直接往屏幕上绘图
4.6用OpenGL ES绘制3D图形
4.6.1 OpenGL ES基础
4.6.2从OpenGL到OpenGL ES
4.6.3初级诀窍
【诀窍4-64】全屏设置
【诀窍4-65】显示3D图形对象
【诀窍4-66】平移3D图形对象
【诀窍4-67】翻转3D图形对象
4.6.4中级诀窍
【诀窍4-68对3D图形对象应用纹理
【诀窍4-69部分屏幕设置
4.6.5高级诀窍
【诀窍4-70】动态动画(Animate a Scene)
【诀窍4-71】适配器性能
4.6.6资源
4.7多媒体
4.7.1初级诀窍
【诀窍4-72】播放音频剪辑(Audio Clip)
【诀窍4-73】使用基本的音频操作
【诀窍4-74】播放提示音(Audio Tone)
【诀窍4-75播放MIDI文件
4.7.2中级诀窍
【诀窍4-76取得默认的多媒体文件存放路径
【诀窍4-77】播放视频剪辑
【诀窍4-78】音频流
4.7.3高级诀窍
【诀窍4-79】录制音频
【诀窍4-80】录制通话内容
【诀窍4-81】显示照相机的取景
【诀窍4-82】用照相机拍摄静物
【诀窍4-83】录制视频
4.7.4资源
4.8通话
4.8.1初级诀窍
【诀窍4-84】处理手机通话
【诀窍4-85】发送DTMF信息(DTMF Tones)至通话线路
【诀窍4-86】监测通话线路状态
【诀窍4-87】获取网络信号强度
【诀窍4-88】获取电池状态
【诀窍4-89】获取设备的IMEI号
【诀窍4-90】获取当前网络名称
【诀窍4-91获取当前运营商名称
【诀窍4-92】获取飞行模式状态
【诀窍4-93】获取网络注册状态
4.8.2中级诀窍
【诀窍4-94】获取来电/去电的电话号码
【诀窍4-95】匹配人名和相应的电话号码
【诀窍4-96】从SIM卡中获取IMSI号
【诀窍4-97】获取手机的锁定(Phone Lock)状态
4.8.3高级诀窍
【诀窍4-98】获取信元编号和网络信息
【诀窍4-99】获取呼叫转接(Call Forwarding)状态
【诀窍4-100】获取呼叫限制(Call Barring)状态
4.9互联
4.9.1初级诀窍
【诀窍4-101】通过红外(IrDA)打印
【诀窍4-102】查找红外设备
【诀窍4-103】查找蓝牙设备
【诀窍4-104】查找为特定设备提供的蓝牙服务
4.9.2中级诀窍
【诀窍4-105】使用套接字API
【诀窍4-106】创建简单的OBEX客户端
【诀窍4-107】创建简单的基于蓝牙的OBEX服务器
4.9.3高级诀窍——广播蓝牙服务
【诀窍4-108】广播蓝牙服务
4.10基于位置的服务
4.10.1初级诀窍
【诀窍4-109】取得可用位置技术模块的列表
【诀窍4-110】取得当前模块的状态信息
【诀窍4-111】获取模块状态改变的通知
【诀窍4-112】设置模块选择标准
4.10.2中级诀窍
【诀窍4-113】请求位置信息
【诀窍4-114】请求扩展的位置信息
第5章 更上一层楼
5.1高级技术
5.1.1发布和订阅:系统范围的属性
5.1.2创建一个服务器进程:文件共享
5.1.3高级系统中所特定的用户接口
5.1.4高级短信息:一种新协议
5.2仅适合Symbian合作伙伴
5.2.1文件服务器插件:独立的文件系统
5.2.2高级多媒体:额外的格式流
5.3高级应用程序部署
5.3.1自动安装
5.3.2定制安装
5.3.3嵌入的二进制集
第6章 发布程序
6.1在发布程序前要做什么
6.1.1对其观察
6.1.2对其测试
6.1.3对其优化
6.1.4对其保护
6.1.5对其签名
6.1.6对其国际化
6.2如何分发应用程序
6.2.1网络运营商
6.2.2独立的软件渠道
6.2.3 Content Aggregator
6.2.4预安装应用程序
6.2.5开源
6.3下一步怎么做
6.3.1 Symbian Press图书
6.3.2同Symbian合作
6.3.3在Symbian生态系统范围内的合作