课程大纲 |
课程内容 |
第一阶段 |
第1部分 异步事件处理 |
1. 异步处理事件概述
1.1.1 异步函数和异步服务
1.1.2 活动叼顿器
1.1.3 活动对象
1.2 活动对象编程
1.2.1 实现活动对象
1.2.2 运行机制
1.2.3 常见问题
1.3 定时器编程简介
1.3.1 定时器服务简介
1.3.2 RTimer类
1.3.3 RTimer编程实例
1.4 CTimer编程实例
1.4.1 倒数技术
1.4.2 闹钟
1.4.3 自动键盘锁
1.5 其他定时器类
1.5.1 CPeriodic类
1.5.2 CHeartBeat类
1.5.3 CDeltaTimer类 |
【实验】 |
实验1:自动键盘锁
实验2:闹钟 |
第2部分 TCP/IP网络编程 |
2. TCP/IP协议与互联网
2.1.1 TCP/IP协议
2.1.2 IP地址、域名、和端口号
2.1.3 客户机/服务器模型
2.2 配置开发环境
2.2.1 设置模拟器的IP地址
2.2.2 选择网卡
2.2.3 验证配置是否正确
2.3 TCP/IP套接字编程
2.3.1 UDP套接字编程方法
2.3.2 TCP套接字编程方法 |
【实验】 |
实验1:UDP套接字编程实验
实验2:TCP套接字编程实验 |
第3部分 高级开发技巧详解 |
3. 良好的编程风格
3.1.1 遵循编码约定
3.1.2 减少代码量
3.1.3 谨慎使用栈内存
3.1.3 堆内存的注意事项
3.1.3 提高执行效率
3.2 防御性编程技术
3.2.1 严重错误
3.2.2 断言
3.2.4 对象不变性
3.2.5 堆检查
3.3 测试技术
3.3.1 审查源代码
3.3.2 代码覆盖率测试
3.3.3 测试程序引擎
3.3.4 模拟资源访问错误
3.3.5 手机与模拟器的区别
3.4 调试技术
3.4.1 IDE的调试功能
3.4.2 搜集出错误
3.4.3 定位内存泄漏
3.4.4 输出调试信息 |
第二阶段 |
第4部分 文件服务器及流处理详解 |
1.1 基于文件的应用程序
1.1.1 用户和系统文件
1.1.2 命名和位置约定小结
1.2 API详解
1.3 文件服务器
1.3.1 文件服务器会话
1.3.2 当前目录
1.3.3 驱动器、文件系统和存储介质
1.3.4 文件
1.3.5 目录
1.3.6 文件名解析
1.4 streams程序
1.4.1 与文件服务器建立连接
1.4.2 文件写入
1.4.3 回读
1.4.4 文件名解析
1.4.5 文件API小结
1.5 流
1.5.1 内部格式和外部格式
1.5.2 外部化和内部化数据的途径
1.5.3 流类型 |
第5部分 多媒体,视频播放以及流媒体技术详解 |
2.1 多媒体组件架构
2.2 多媒体框架(MMF)
2.2.1 客户端API
2.2.2 控制器框架
2.2.3 控制器插件
2.2.4 底层子系统
2.2.5 图像转换库(ICL)
2.2.6 板载照相机API(ECam)
2.3 使用MMF
2.4 使用音频
2.4.1 播放音调
2.4.2 播放剪辑
2.4.3 录制剪辑
2.4.4 格式转换
2.4.5 音频流化
2.5 使用视频
2.5.1 视频回放
2.5.2 视频录制
2.6 控制器框架API
2.7 使用ICL
2.7.1 基于活动对象的图像处理
2.7.2 图像解码
2.7.3 图像编码
2.7.4 静态函数
2.7.5 位图转换 |
【实验】 |
实验1:用带图标的listbox列举出任意目录下所有的指定扩展名的文件和文件夹
本实验主要是了解对本地文件和文件夹操作方法。
实验2:读取ZIP文件
本实验使用Symbian OS提供的一个名为CzipFile的类来读取ZIP格式的文件。
实验3:使用手机本身的选择框选择手机的一个图片、音频、视频文件打开
本实验通过系统方式对图片、音频、视频文件打开。
实验4:播放一个本地3gp文件,并实现旋转和缩放功能,启动realplayer播放rstp
本实验主要演示3gp文件的播放处理技巧。
|
第三阶段 |
第6部分 网络连接处理详解 |
3.1 socket详解
3.1.1 Series 60 的套接字
3.1.2 客户端和服务器
3.1.3 断开式和连接式套接字
3.1.4 连接式套接字
3.1.5 安全套接字
3.2 http详解
3.2.1 会话
3.2.2 事务
3.2.3 Headers
3.2.4 Data supplier
3.2.5 Filter |
第7部分 蓝牙处理详解 |
4.1 蓝牙应用概述
4.1.1 基本术语介绍
4.1.2 蓝牙技术和产品应用领域
4.2 蓝牙应用系统技术分析
4.2.1蓝牙协议栈的体系结构
4.2.2 蓝牙无线传输分析
4.2.3 蓝牙系统基本结构分析
4.3 Symbian蓝牙通信的实现
4.3.1 蓝牙服务的发布
4.3.2 蓝牙设备的搜寻
4.3.3 蓝牙服务的搜寻
4.3.4 蓝牙套接字通讯 |
【实验】 |
实验1:Soket方式网络示例
实验2:端到端HTTP方式网络示例
以上两个实验分别用不同的连接方式演示了:如何通过一种安全方式进行服务器和移动终端的数据传输;在客户端如何解析接收到的数据。
实验3:蓝牙单点对多点通讯示例
本实验主要是展示蓝牙的相关技术,搜寻服务和设备,并同多个设备建立连接。 |
第四阶段 |
第8部分 活动对象详解 |
5.1 活动对象的工作原理
5.1.1 实时操作系统的基本概念
5.1.2 Symbian OS程序架构
5.1.3 活动对象的响应
5.2 活动对象工作方式
5.2.1 取消请求的更多知识
5.2.2 错误处理
5.2.3 非抢占和优先级
5.2.4 启动和终止规划器
5.2.5 在活动规划器中添加功能
5.2.6 框架小结
5.3 活动对象模式
5.3.1 维护未完成的请求
5.3.2 状态机
5.3.3 处理完成的接口
5.3.4 长期运行的任务和增量接口 |
第9部分 客户端-服务器框架详解 |
6.1 引言
6.1.1 处理常规请求
6.1.2 建立会话
6.1.3 启动服务器
6.1.4 处理异步请求
6.1.5 结束会话并在客户端消亡后清理
6.1.6 在服务器消亡后清理
6.1.7 处理一个会话中的多个对象
6.2 性能
6.2.1 客户端缓冲
6.2.2 高级事务
6.2.3 数据缓存
6.2.4 相同进程中的相关服务器
6.2.5 共享内存
6.3 服务器和线程
6.3.1 在线程间共享客户端对象
6.3.2 服务器中的多线程
6.3.3 时间起关键作用的服务器性能
6.3.4 线程优先级
6.4 客户端-服务器API
6.4.1 线程基础
6.4.2 线程间数据传输和数据包类
6.4.3 客户端对象
6.4.4 服务器端的对象
|
第10部分 ECOM详解 |
7.1 ECOM 框架
7.2 ECOM接口的特性
7.3 工厂方法
7.4 实现一个ECOM接口
7.5 资源文件
7.6 示例客户代码
|
【实验】 |
实验1:活动对象示例
本实验将展示如何在一个新线程里创建活动规划器和活动对象的相关使用,通过本实验可以掌握使用活动对象实现事件驱动的多任务处理的能力。
实验2:游戏会话数据报协议服务器
本实验实现该服务器,在一个Symbian OS手机上的多个客户端游戏之间共享GDP数据报,通过本实验将学习到编写Symbian
OS服务器所需要的所有重要的实践技术。
实验3:ECOM插件示例
本实验展示如何在客户端应用程序中创建实现ECOM插件,该试验包含了一个用户ECom接口,一个实现了该接口得DLL插件组件,一个解析器以及一个简单的用到该接口的GUI客户端。 |
第五阶段 |
第11部分 消息传送及通话详解 |
8.1 消息
8.1.1 消息传送的重要概念
8.1.2 关键消息类及数据类型
8.1.3 消息传送API
8.1.4 使用Client MTM AP
8.1.5 使用Send-As API
8.1.6 使用CSendAppUi
8.1.7 监视到达的信息
8.2 通话
8.2.1 使用ETelAPI
8.2.2 起始工作
8.2.3 建立通话
8.2.4 接听电话
8.2.5 获取上次拨打的号码 |
第12部分 应用程序签名 |
9.1 Symbian 安全模型
9.1.1 对Symbian平台安全模型的论证
9.2 Symbian 平台安全模型实践
9.2.1 基于可信计算
9.2.2 功能
9.2.3 应用程序认证
9.2.4 分配功能
9.2.5 平台需求或制造商架构
9.3.入侵检测系统
9.3.1 唯一标示符
9.3.2 产品序列号
9.3.3 制造商序列号
9.3.4 制造商序列号和产品序列号使用
9.4. 嵌入SIS文件
9.5.应用开发时的Symbian安全模型
9.5.1 定义应用程序
9.5.2 应用程序测试
9.5.2.1 Symbian 开发商证书
9.5.3 Symbian注册
9.5.4 授予TCB/DRM
9.5.5 Symbian 自主验证
|
第13部分 蓝牙应用详解 |
10.1 读取公开的api获取不到的一些信息
10.2 个人照片屏幕保护程序
10.3 开机或插卡自动运行
|
【实验】 |
实验1:短消息处理示例
本实验展示了直接从程序中发送和接收短消息,以及可以对收件箱中的短消息进行管理(删除,复制,移动等)。
实验2:开发一个带能力的示例程序,用自签名和开发者证书分别安装到手机上运行。
实验3:获取当前的主题模式中的屏幕保护程序,每隔一定时间,从指定目录里随机选择一张图片全屏显示在手机屏幕上。
实验4:开机运行一个Thread,写入特定信息到debug日志文件。
|
第141部分 Symbian操作系统中插件的使用 |
11.1 消息MTM
11.2 通信扩展模块
11.3 ETel扩展模块
11.4 ESOCK协议模块 |
【实验】 |
实验:通信模块扩展 |
第12部分 软件开发的通用能力 |
讲解项目开发过程中涉及的各种知识,包括软件开发过程、软件开发模型、软件测试理论、流程图工具、测试管理工具、项目管理工具、版本管理工具、设计模式、UML等。 |