課程大綱 |
課程內容 |
第一階段 |
第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等。 |