




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目 錄第 1 頁 共 45 頁第 2 頁 共 45 頁第一章 引 言1.1研究背景當今社會已步入智能手機時代,手機已不再像以前那樣只有單調而又簡單 的功能,現(xiàn)在的手機能像電腦一樣,能下載或者安裝不同的手機軟件使用和運 行??梢韵胂笫褂靡苿与娫拋磙k公給人們帶來的方便、經濟等等諸多好處.現(xiàn) 在,QUALCOMM 的 Binary Runtime Environment for Wireless (BREW 可以實 現(xiàn)這一點.手機移動辦公的服務特點包括幾方:第一,針對性強,能智能地提取與信 息服務需求者有關事物的信息與服務;第二,不受時間、空間的限制,使用靈 活方便,只要在移動網(wǎng)絡覆蓋的范圍都可以接
2、收服務;第三,對終端要求低, 用戶只需要擁有一臺支持服務的手機即可。手機移動辦公系統(tǒng)的巨大價值在于通過移動和固定網(wǎng)絡發(fā)送準確及時的信 息給用戶,使這種服務可以應用到任何人、任何時間、任何位置。手機移動辦公系統(tǒng)目前正發(fā)展起來,它得到廣泛應用的原因在于:1市場需求越來越大。無論是公眾還是行業(yè)用戶,對于移動辦公查詢服務都有著廣泛的需求。 對于公眾來說,主要是要求系統(tǒng)提供位置服務信息、城市導游信息、旅游 咨詢信息、城市交通信息等,具體有查詢位置、附近的商場酒店、火車飛 機的票務信息、旅游景點等;對于行業(yè)應用,在交通方面可以開發(fā)物流配 送調度管理系統(tǒng) (包括車隊和船隊 , 公交車輛指揮調度系統(tǒng)、 車輛跟
3、蹤防 盜系統(tǒng)、車輛智能導航系統(tǒng)、鐵路列車調度系統(tǒng);在農業(yè)、環(huán)保、醫(yī)療、 消防、警務、國防、旅游等方面可以開發(fā)智能農業(yè)生產系統(tǒng)、環(huán)境監(jiān)測管 理系統(tǒng)、緊急救援指揮調度系統(tǒng)、智能接警處警系統(tǒng)、支持作戰(zhàn)單元的移 動式空間信息交換系統(tǒng)、旅游調度管理系統(tǒng)等;總之,移動辦公查詢服務 有著巨大的市場潛力。2共贏的產業(yè)價值鏈。BREW 可以催生高價值的應用。 巨大的市場吸引著生產商、開發(fā)商、運營 商投資,使得 網(wǎng)絡運營更優(yōu)化 、設備制造更經濟 、應用開發(fā)更便捷、 用戶體 驗更美好。1.2 BREW技術的發(fā)展情況美國高通公司 2001年推出二進制運行環(huán)境(Binary Runtime Environment fo
4、r Wireless 增值業(yè)務開發(fā)運行的基本平臺。第 3 頁 共 45 頁韓國 KTF 于 2001年 11月開始提供基于 BREW 平臺的商用服務,統(tǒng)計數(shù)字表 明,市場反響相當強烈,無論是業(yè)務內容還是業(yè)務質量,在用戶眼中的吸引力 都不斷增強,贏利潛力非常可觀。2002年 8月 26日美國圣地亞哥,中國聯(lián)通和美國高通公司達成協(xié)議:中國 聯(lián)通將于 2002年底在其 CDMA 網(wǎng)絡中開通基于高通 BREW 解決方案的新型無線應 用商業(yè)服務。 屆時, 中國聯(lián)通的無線用戶將能夠使用 BREW 平臺下載他們喜愛和 需要的應用程序,對其 BREW 移動電話進行個性化配置。2003年 2月 26日中國 聯(lián)合
5、通信有限公司和美國高通公司的合資公司聯(lián)通 BREW 無線技術有限公司正 式宣布成立,合資首期注冊資金數(shù)千萬人民幣,投資雙方各占 50%的所有權。 在 2004年年初, 中國聯(lián)通神奇寶典 BREW 的活躍用戶才僅僅 7萬, 下載量也 僅為 40萬,到 2004年年底,BREW 已經發(fā)展到擁有 100萬活躍用戶、170萬注 冊用戶、 下載量超過 1000萬的規(guī)模, 手機激活率也從原來的 22%上升到 42%。 截止 2005年 3月, BREW 平臺已經在全球 24個國家的 46個運營商的網(wǎng)絡上 運行,全球基于 BREW 應用程序的下載數(shù)量已經超過 2.75億次。1.3本文研究的主要內容論文共分為
6、七個部分,全文組織結構為:第一部分提出本文的研究背景, 對 BREW 技術以及其應用在國內外現(xiàn)狀進 行綜述,并介紹了全文的主要研究內容。第二部分對 BREW 技術做了全面的介紹。主要包括 BREW 的定義、體系 結構與運行環(huán)境、主要內容以及對處理技術的分析。第三部分簡單介紹了 BREW 軟件開發(fā)工具以及基本開發(fā)步驟。第四部分是系統(tǒng)的結構設計,主要包括系統(tǒng)的產生背景、設計目標、需求 分析,基本流程圖、狀態(tài)轉移表以及軟件模塊設計。第五部分重點對移動辦公系統(tǒng)進行了詳盡的實現(xiàn)描述,對各個模塊的實現(xiàn) 做出了介紹 。最后對系統(tǒng)的軟件實現(xiàn)做出了總結。第六部分給出移動辦公系統(tǒng)實際測試結果和應用效果。第七部分總
7、結了全文的工作, 提出了論文所作的工作、 創(chuàng)新點和系統(tǒng)不足, 提出了手機移動辦公進一步發(fā)展的研究方向。第 4 頁 共 45 頁第二章 BREW技術概要2.1 BREW概述BREW 就 是 無 線 二 進 制 運 行 環(huán) 境 (Binary Runtime Environment for Wireless, 是高通公司 2001年推出的基于 CDMA 網(wǎng)絡 "無線互聯(lián)網(wǎng)發(fā)射平臺" 上增值業(yè)務開發(fā)運行的基本平臺。該平臺是一種開放的端到端的解決方案,也 是唯一能夠使應用開發(fā)商、 設備廠商以及網(wǎng)絡運營商從數(shù)據(jù)業(yè)務中獲益的途徑。 BREW 是一種技術,同時也是一種靈活的"一
8、攬子"業(yè)務系統(tǒng)。借助 BREW,技術門檻以及產品上市門檻都將得以降低。設備廠商、網(wǎng)絡運 營商以及應用開發(fā)商可以高效開發(fā)、部署、購買并售賣最新的數(shù)據(jù)應用,并從 中獲益。BREW 提供一個高效、低成本、可擴展和熟悉的應用程序執(zhí)行環(huán)境(AEE, 著重開發(fā)可無縫植入任何實際手持設備的應用程序。制造商和開發(fā)人員可以隨 時對運行環(huán)境進行擴展, 提供應用程序需要的各種附加性能模塊, 如"無線互聯(lián) 網(wǎng)發(fā)射平臺"中包含的多媒體、 多種連接方式、位置服務、用戶界面、網(wǎng)絡等功 能套件。BREW 提供的功能環(huán)境就好像 PC 機上的操作系統(tǒng)一樣,可以通過服務 提供商下載指定類型的應用程序或
9、游戲來使用。 同時, 通過 BREW 接口功能, 供 應商可以提供成套的完整的資訊、商務、娛樂功能。在將來的版本中,BREW 內 核類將能提供諸如藍牙技術、全球定位系統(tǒng)(GPS 和基于數(shù)據(jù)業(yè)務的電話等服 務。由于需要更少的內部應用程序開發(fā)和集成任務,OEM 可以更加快速地推出 新設備。用戶可以選擇和下載適合自己個人喜好的無線軟件。通過這種方式, 用戶將推動新的無線數(shù)據(jù)應用程序和服務市場的發(fā)展。BREW 主要應用在移動通信領域,BREW 類似一個開放免費的 PC 操作系統(tǒng), 其他廠商可以在這個平臺上設計各項應用。作為一個手機應用平臺,BREW 能支 持高速上網(wǎng)、 下載游戲、 無線購物等幾十種數(shù)據(jù)
10、業(yè)務。 廠商使用 BREW 設計一款 應用軟件,所有裝載高通芯片的手機都可以使用,不會出現(xiàn) JAVA(另一種平臺 上不同手機型號需要分別設計的麻煩。 此外, BREW 還兼容其他語言, 包括 JAVA、 FLASH。第 5 頁 共 45 頁2.2 BREW的結構與環(huán)境BREW 的 API(應用程序接口和 SDK(軟件開發(fā)工具極大地簡化了用 C、C+和其它語言開發(fā)無線應用。BREW 的 API 以一組接口類的方式組織起來,每個類 定義提供某一特定服務的一組函數(shù),使開發(fā)商無需了解設備的內部機理也能從 事無線應用的開發(fā)。BREW Emulator使開發(fā)人員可以測試無線應用在一系列仿真設備 Windo
11、ws 環(huán)境下運行的狀況,這樣就免去了在真實設備中的測試。熟悉驅動圖形界面環(huán) 境的開發(fā)商將會發(fā)現(xiàn) BREWAPI 好學易用。事件處理、菜單、對話、資源、編輯、 基于文件的長期儲存和記錄導向型的數(shù)據(jù)庫是 BREW 中標準的概念。 而且, 基于 Windows 的模擬環(huán)境使那些對 Windows 應用程序編寫熟練的程序員可以特別輕 松地用 Visual C+去開發(fā) BREW 應用。由于 BREW API可適用于多種設備,利用 BREW API編寫的程序可以輕松地 從一個無線設備移植到其他無線設備中。所以開發(fā)商編程一次,就可運行在多 種設備中。雖然不同設備由于顯示尺寸不同可能要對程序進行微調,但大多種
12、 這種細微的調整可以在 BREW Emulator中輕易地測試出來。BREWAPI 可以支持 擴展名,設備廠商、運營商和開發(fā)商可以編寫插件類來拓展 BREW 的功能。BREW 的應用執(zhí)行環(huán)境(AEE是一個精巧的軟件接口層。設備廠商將它集成 在各自的軟件中,以支持 BREW API 和運行環(huán)境。在一個新終端設備中提供 AEE 要求設備廠商只要移植 AEE 即可,此外, BREW Emulator 中提供了一個 AEE 的 Windows 端口,所以 BREW Emulator 可以運行針對 Windows 的小程序。由于 AEE 占用的隨機存儲器和閃存極小,BREW 不但可以使高檔機型錦上添花,
13、而且在低 端主流機型中也能大顯身手。除了向應用提供 BREW API 服務,AEE 同時管理著應用程序的執(zhí)行,及時響 應用戶和一些緊急事件,如來電和短信呼入。比如說,一個正在運行的 BREW 應用當有來電呼入時,可以自動立即暫停;并在通話完畢之后,再自動恢復工 作。第 6 頁 共 45 頁BDS 是一項具有突破性的技術,它使得終端用戶可以利用手機或其他無線 設備以無線的方式下載應用。無線應用開發(fā)商可以根據(jù)用戶購買應用的數(shù)量得 到相應的回報。為了確保 BREW 應用安全下載, 一個名為 True BREW 的獨立測試流程可以確 保開發(fā)商提供的應用模式安全穩(wěn)定地運行在終端上, 而且同 BREW 平
14、臺兼容。 支 持 BREW 的終端只能運行經過開發(fā)商、 運營商和高通數(shù)字簽名的應用。 有些運營 商只提供經過 True BREW測試的應用。BREW AEE可以移植到使用 QUALCOMM MSM3100 和 CDMA 系列芯片的無線終 端。 BREW 還將支持其它制式終端的 AEE 移植。 下面介紹一下目前 QUALCOMM CDMA 芯片支持的一些高級功能,以及 BREW 是如何利用這些功能的:·ARM內核:BREW利用 ARM 內核支持一系列操作系統(tǒng)和電話服務。支持 BREW 運行的終端都采用基于嵌入式 RISC 微處理器的 ARM 體系結構。· Pure Voice
15、 :BREW可以通過終端中的音響系統(tǒng)播放 QUALCOMM Pure Voice 格式優(yōu)化的高級音樂文件。·CMX:BREW可以利用 ASIC 支持 CMX,在終端的音響系統(tǒng)中播放 MIDI 文件。 ·藍牙:一種短程無線電技術, 支持數(shù)字設備短程無線互聯(lián)。 未來版本的 BREW 將支持藍牙連接。·語音識別:未來版本的 BREW 將調用芯片組中的語音識別服務, 支持相應的 應用。2.3 BREW的主要內容BREW 運行時環(huán)境是一個較薄的軟件接口層, 位于芯片系統(tǒng)軟件和應用程序 間的無線設備上, 使最終用戶可以無線下載程序并在啟用 BREW 的設備上運行。 BREW
16、具有較高的閃存和 RAM 使用效率。它包括以下內容:完整的 BREW 解決方案始于無線設備上駐留的開放、標準應用程序執(zhí)行平 臺。第 7 頁 共 45 頁瘦薄:BREW 并不僅僅是為 PC 或 PDA 開發(fā)的產品的縮減版本, 它比其它應 用程序平臺或成熟的操作系統(tǒng)小許多倍??焖?BREW 平臺正位于芯片系統(tǒng)軟件之上, 啟用了快速 C/C+ 本地應用程 序,以及瀏覽器與基于 Java 技術和擴展的虛擬機(例如游戲引擎和音樂播放 器的簡易集成。開放:除本地 C/C+ 以外,BREW 還支持其它多種語言,包括 Java、可擴 展標識語言 (XML、 Flash 等執(zhí)行環(huán)境。 而且, 由于它可以駐留在采
17、用 Palm 等 任何移動操作系統(tǒng) (OS 的智能手機上, 因而可使用 BREW 發(fā)布系統(tǒng) (BDS 無 線下載為這些 OS 編寫的應用程序, 并像 BREW 應用程序一樣使之商品化。 可擴展:第三方可以為 BREW 平臺編寫擴展, 從而向應用程序提供附加功能。 成本效益高:降低開發(fā)成本, 并縮短設備制造商的產品面市時間。 設備制造 商可以在開發(fā)應用程序和為不同型號產品配備應用程序方面花費很少的時間, 而將更多的時間投入產品設計。安全:BREW 對基本的電話和無線網(wǎng)絡運行提供保護。BREW 平臺所承諾的無限簡化產品與服務的開發(fā)和制造, 其核心就是 BREW 移植包。它縮短了將 BREW平臺集成
18、到新研制設備中的過程。BREW SDK 由一整套工具和服務組成,使應用程序開發(fā)者能夠為各種手 持設備快速、高效、經濟地開發(fā)和配置新的應用程序。BREW SDK 可使開發(fā)者使用標準工具在熟悉的環(huán)境中工作。 也就是說,可 以在無需知道芯片系統(tǒng)源代碼及與設備制造商沒有直接關系的前提下編寫基于 BREW 的設備中使用的應用程序。BDS 使運營商可以輕松地將從開發(fā)者手中獲得的應用程序投放到市場,并 協(xié)調結算和支付。運營商可以根據(jù)需要調整 BDS, 包括管理他們自己的應用程序發(fā)布及定價、 選擇第三方管理應用程序。第 8 頁 共 45 頁BREW 使用戶可以僅以所需的應用程序來自定義手持設備。 用戶只需按幾
19、 個按鈕,即可從眾多的應用程序中進行選擇。通信 - 即時通信、電子郵件、 鈴聲和其它互動消息傳送定位 - 映射、瀏覽、 交通和其它特定定位內容效率工具 - 移動同步辦公應用程序和實用工具,提高了個人效率游戲 - 單個玩家和多個玩家間的互動游戲移動商務 - 賬戶余額、零售、股票交易等金融交易。娛樂 - 音樂、錄像、幽默,甚至追蹤某一事件信息 - 航班跟蹤、新聞、天氣、 體育和其它日常信息 擴展 - 開發(fā)者可 以在應用程序中使用的強大的 BREW 平臺第三方擴展2.4 BREW的用戶端處理技術的分析借助用戶端處理特性, 各種新型應用(如動作游戲即可開發(fā)出來,因為借 助 BREW 平臺用戶能夠將應用
20、下載到電話之中并運行之。 即便是在電路交換網(wǎng)絡 之中,應用也可以即刻啟動,因為這些應用安裝在電話之上-無需等待即將發(fā) 起的數(shù)據(jù)呼叫。BREW 可以通過提供真正的實時處理功能擴展自己的優(yōu)勢, 實現(xiàn)其他應用-特別是那些基于語音的應用。借助用戶端執(zhí)行特性, 用戶只需花費幾秒鐘即可將有關特定景點的旅游信息 數(shù)據(jù)庫下載到自己的手持設備中,然后在數(shù)據(jù)庫中進行搜索,快速尋找合適的 地圖,這一切根據(jù)需要可以隨時完成。與此同時,本地存儲的信息還可用來增 強個性化定位服務的定位信息功 能。所有用戶都可以享受快速響應這一優(yōu)勢, 而無需考慮網(wǎng)絡的帶寬問題。BREW 可以同電話的基本通話功能緊密整合,增強用戶端執(zhí)行功能
21、。開發(fā)人 員可以非常輕松地編寫各種應用, 充分利用 BREW 的通話管理功能, 因此, 當用 戶接收呼叫或 SMS 消息時,應用可以自動暫停并在隨后恢復運行。第 9 頁 共 45 頁最終用戶可以利用多種應用以 及各種生活信息精確定制自己的電話,并根 據(jù)自己的意愿隨時修改這些應用。用戶可以下載所有能夠提高工作效率的應用 (如財務計算器、股票行情跟蹤應用以及新型聯(lián)絡信息數(shù)據(jù)庫,實現(xiàn)手機的 個性化,與此同時,他們也可以下載各種娛樂應用以及個性化鈴聲。這些內容 都可以通過無線方式實現(xiàn),無需電纜或者 PC 連接。BREW 應用平臺使得網(wǎng)絡運營商可以通過無線方式安裝、招回并升級應用。 即便是特定電話應用,
22、用戶也無需將手機拿到商店或者運營商那里接受服務。BREW平臺精致小巧-僅占用大約 150K 的空 間-高效而功能強大,無需為 每種型號的電話配備獨立的虛擬機 (VM 。 如果運營商希望在一款手機上同時 采用 J2ME 以及 BREW 技術,僅需一臺 VM,過一段時間他們即可利用多種 VM 功 能選項。目前,IBM 正在將自己的 Web Sphere 微環(huán)境(即以前眾所周知的 J9 移植到 BREW 中,HP 也在將在自己的 MicroChai 環(huán)境移植到 BREW 中。這為其他 公司的 VM 移植打開了大門。第 10 頁 共 45 頁第三章 基于 BREW 軟件開發(fā)基礎3.1 BREW 軟件開
23、發(fā)包BREW 應用程序開發(fā)者最重要的工具是 BREW 軟件開發(fā)包 (BREW SDK。 BREW SDK 由一整套工具和服務組成, 使應用程序開發(fā)者能夠為各種手持設備快 速、高效、經濟地開發(fā)和配置新的應用程序。下面將介紹 BREW SDK 中包含的 主要組件:MIF 中包含每個模塊類的唯一 ClassID,并指定導出哪些類供其它模塊使 用。 MIF 中還包含每個小程序類的文本字符串, 以及在可運行小程序菜單中代 表小程序的一個或多個圖形圖標。 MIF 中還包含其它可確定模塊權限級別 (可 被模塊類調用的 BREW API 函數(shù)的信息,以及模塊可從其它 BREW 類接收到 的通知。在 Emula
24、tor 上運行小程序時, 每個模塊都可以擁有多個 MIF, 各代表被模 擬的每種設備色深。 由于 MIF 中包含圖形圖像,因此可以選擇適用于每個設 備顯示功能的圖像, 并保存在單獨的 MIF 中。 Emulator允許 MIF 目錄的選擇 獨立于包含模塊可執(zhí)行文件的目錄,以便在多個設備上模擬小程序的執(zhí)行。在 BREW 設備上, MIF 保存在包含每個模塊目錄的 BREW 文件夾下。 模塊目錄 的名稱與 MIF 的前綴名稱相同。即 BREW 模擬器,可以用來模擬各種手持設備,并測試在 BREW 環(huán)境下開發(fā) 的小程序和類。對于手機設備案件的模擬輸入,不僅可以通過單擊 Emulator 中的按鍵圖像
25、區(qū)來完成, 也可以通過單擊相應的臺式電腦鍵盤來模擬輸入 。 小 程序生成的屏幕輸出顯示在設備圖像的屏幕區(qū),用戶不僅可以選擇按照設備時 間的屏幕大小來查看應用程序和類, 而且可以在 Configurator 配置文件指定的 屏幕大小來查看。它主要用來測試應用。第 11 頁 共 45 頁BREW 資源編輯器允許您創(chuàng)建應用程序中使用的對話框、 字符串、 二進制 以及對象。 您還可以使用資源編輯器創(chuàng)建控件,如:菜單、列表、日期選擇器 以及計時器等。 如果創(chuàng)建的應用程序需要使用不同語言在各種無線設備上運 行,這些資源將十分有用??捎糜趧?chuàng)建和配置 Emulator 使用的設備文件, 然后通過 Emulat
26、or, 在各種 設備上測試應用程序。用戶可以使用 Configurator 創(chuàng)建和定義設備文件,由來 模擬小程序執(zhí)行期間的設備行為。將設備文件載入之后,就可以使用安裝有 Windows 操作系統(tǒng)的計算機模擬 BREW 小程序在各種設備上的運行了。3.2基于 BREW 系統(tǒng)的開發(fā)步驟這一步是開發(fā)的主體部分, 臺式 PC 機上安裝了 BREW SDK 以后, 在 Visual C+的環(huán)境下創(chuàng)建 BREW Application Wizard,利用 BREW MIF Edit創(chuàng)建一個對 應的.mif 文件,并且在.c 文件中相應位置添加代碼,編譯通過后生成.dll 文 件這樣,BREW Emulat
27、or就可以模擬手機來測試應用程序了。應用程序寫好了,并且在模擬器上面測試后,在臺式 PC 機上用 ARM 編譯器 或 GCC 編譯器編譯應用程序,生成相應的.mod 文件每一個 BREW 應用都需要簽名,其主要的目的是為了防止應用被篡改,簽名 文件分為兩種:測試簽名和產品簽名。測試簽名的生成需要應用的名字、手機第 12 頁 共 45 頁的 ESN(Electronic Serial Number或 RUIM ID這些信息,它允許任何應用 在同一款手機上面運行, 有效期為 90天。 產品簽名是當應用通過測試之后, 在 將其放到 UAM 之前所做的數(shù)字簽名,它允許一個應用在任何手機上運行。需要 用
28、到的工具是測試簽名生成器。安裝好 BREW Tool Suite后, 即可使用 AppLoader 把與運用相關的所有文件 通過數(shù)據(jù)線從 PC 機上傳送至 BREW 手機上。 到這一步, 一個完整的 BREW 應 用就算完成了。第 13 頁 共 45 頁第四章 系統(tǒng)的結構設計4.1系統(tǒng)的產生背景截止 2005年 3月, BREW 平臺已經在全球 24個國家的 46個運營商的網(wǎng) 絡上運行,全球基于 BREW 應用程序的下載數(shù)量已經超過 2.75億次。在維持 原有的客戶資源有增無減的基礎上,筆者認為電信運營商應該將無線增值業(yè)務 大力推向企業(yè)事業(yè)單位,實現(xiàn)無線增值業(yè)務的行業(yè)應用,比如手機移動辦公。
29、只要能將無線增值業(yè)務普遍應用到企業(yè)的日常辦公中,加之成熟的管理、良好 的客服態(tài)度,勢必會有促進整個行業(yè)應用的發(fā)展。那個時候電信運營商的無線 增值業(yè)務將會擁有一大批固定的企業(yè)級的客戶資源,業(yè)務收入也將會得到穩(wěn)定 的、大幅度的提升。基于以上背景,本章將介紹一個移動辦公商用系統(tǒng)的開發(fā),通過該系統(tǒng), 可以利用移動終端查詢實時的生活娛樂等信息、查詢個人的位置信息,并進行 實時的信息交流。移動終端完成了大量的輔助工作,大大的滿足了用戶的信息 需求,同時各種信息都直接以文本和地圖等方式顯示,這種信息表現(xiàn)方式避免 了語言描述的不精確性和不持久性,豐富了信息交流的手段而且提高了效率。4.2設計目標移動辦公系統(tǒng)有
30、著不同的應用領域, 隨著今后人們需求的增加, 移動辦 公的服務內容應該更全面、 更合理。 因此, 移動辦公系統(tǒng)應具有以下兩個特 性:除了當前城市向導、 位置服務等應用以外, 終端軟件還可以添加其他應用的 功能模塊,比如熱點追蹤,它包括 IT 信息、打折信息、熱點推薦、手機商 情等要增加新的模塊當然需要硬件的支持。 因此, 整個系統(tǒng)的結構設計也應該可 以升級,以滿足新增功能的需求。第 14 頁 共 45 頁4.3系統(tǒng)需求分析系統(tǒng)軟件主界面是 9個圖形選項(如圖 4.1所示 ,用戶通過導航鍵盤來 選擇城市向導、位置服務、旅游信息、個性設置等,以便進一步搜索自己需要 的信息。 圖 4.1 系統(tǒng)軟件主
31、界面城市向導:飲食、娛樂、購物、理財、單位查找信息服務。分別可以查到酒店的地址電話等、娛樂項目的地址電話價格、 購物場所地址電話價格等位置服務:顯示地圖、通知朋友GPSONE 定位,顯示自己所在位置信息(圖片文字交通信息:公交線路查詢、城市交通查詢、車次信息查詢、火車換乘 查詢、航班查詢旅游信息:旅游景點、姓氏尋根、地名查詢個性設置:設置城市、我的收藏第 15 頁 共 45 頁UI (User Interface,用戶接口 是人機之間交互的接口。 一個好的交互界面 能夠使用戶快速上手,便攜操作,體驗到效率。這里采用的 UI 是一些窗口、 LIST 菜單、 ICON 菜單, SOFTKEY 菜單
32、,按鈕、文本輸入框,每一個界面下 都有“確定” “退出”選項,部分界面還有使用說明。下面羅列了系統(tǒng)中使用到 的用于顯示的接口和控件接口:(1用于顯示的接口IDisplayIImageIBitmapIFont(2控件接口IMenuCtlITextCtlIDialog在信息下載到移動終端時需要用到存儲技術, BREW 中主要分為文件 I/O和數(shù)據(jù)庫技術兩種,本系統(tǒng)采用前者。在城市向導、 位置服務、 旅游信息服務中, 讀取資源時用到了文件存儲技 術,主要是一些文本信息、圖片信息等資源本系統(tǒng)相當于一個無線數(shù)據(jù)增值業(yè)務, 合法用戶首先在個性設置中設置自 己所在的城市, 這樣通過無線通信網(wǎng)絡和 INTER
33、NET , 連接到移動辦公服務器, 手機會自動下載城市向導、旅游信息、交通信息等信息到本機的數(shù)據(jù)庫中,以 供用戶及時快速查詢,下載完畢后進行相應的業(yè)務處理。對于定位信息服務則 是實時的查詢, 通過定位模塊發(fā)送定位請求, 經過 CDMA 網(wǎng)絡中的定位平臺得 到定位數(shù)據(jù),然后位置數(shù)據(jù)在發(fā)送到固定網(wǎng)絡的應用服務器組,經過業(yè)務服務 器、位置服務器進行相應的業(yè)務處理,最后將結果返回到終端。注:為了系統(tǒng)開發(fā)方便,本系統(tǒng)直接將信息資源放在了系統(tǒng)中。第 16 頁 共 45 頁以上三部分的設計大致相同,步驟如下:1. 首先用戶在界面下進入個性設置,設置當前所在城市,即發(fā)送服務請求;2. CDMA網(wǎng)絡響應服務請求
34、;3. 手機終端將城市名和業(yè)務種類發(fā)送給業(yè)務服務器;4. 業(yè)務服務器根據(jù)用戶提交的城市名和業(yè)務種類向城市向導服務器提交信 息服務請求;5. 城市向導服務器根據(jù)城市名和業(yè)務種類,將結果返回給業(yè)務服務器;6. 業(yè)務服務器將結果發(fā)送給指定的用戶終端。7. 用戶終端將結果放入本機數(shù)據(jù)庫中,可以根據(jù)需要隨時查詢 ; 位置服務資源圖 4.2如圖 4.2所示:定位服務的主要步驟如下:1. 定位手機發(fā)送定位請求;2. 定位響應,通過 CDMA 網(wǎng)絡定位平臺計算出位置,響應定位;3. 用戶手機向業(yè)務服務器發(fā)送定位數(shù)據(jù),主要包括經度和緯度;4. 業(yè)務服務器根據(jù)用戶提交的經緯度向位置服務器提交位置請求;5. 位置服
35、務器根據(jù)經緯度算出用戶當前位置地圖,將結果返回給業(yè)務服務 器;6. 業(yè)務服務器將結果發(fā)送給指定的用戶終端。第 17 頁 共 45 頁4.4基本流程圖和狀態(tài)轉移表圖 4.3基本的流程圖按 鍵 使用位置 功 能 A VK_END 任何屏幕 直接退出程序 A VK_UP 所有菜單界面 向上滾動一行 A VK_DOWN 所有菜單界面 向下滾動一行 A VK_LEFT 主圖形菜單界面 向左滾動一行 A VK_RIGHT 主圖形菜單界面 向右滾動一行 A VK_SOFT1 所有菜單界面 進入當前激活項 A VK_SOFT2 所有界面 返回主界面 A VK_CLEAR 所有菜單界面 返回主界面 A VK_S
36、ELECT 所有菜單界面 進入當前激活項 表 4.1 狀態(tài)轉移表第 18 頁 共 45 頁4.5系統(tǒng)模塊設計程序以界面視圖為單位來組織。 所以, 本系統(tǒng)共有 6個主要界面:系統(tǒng)界 面、城市手冊界面、交通信息界面、旅游信息界面、位置信息界面、個性設置 界面。筆者共設計了 4個功能模塊(菜單模塊、消息處理模塊、圖像模塊、定 位模塊來處理與這 6個界面相關的數(shù)據(jù)和界面更新。另外還需要設計一個驅 動模塊來管理這些功能模塊。程序運行時,有且只有一個模塊處于激活狀態(tài), 處于激活狀態(tài)的這個模塊負責處理數(shù)據(jù)和界面的更新,需要節(jié)目切換時,由驅 動模塊關閉當前活動的功能模塊然后打開新的功能模塊。模塊關系如圖所示。
37、 圖 4.4系統(tǒng)模塊圖第 19 頁 共 45 頁第五章 系統(tǒng)詳細設計與實現(xiàn)依據(jù)系統(tǒng)的結構設計、模塊設計,系統(tǒng)具體設計如下:5.1. 數(shù)據(jù)類數(shù)據(jù)類中聲明了需要用到的所有數(shù)據(jù)類型typedef struct _MOAppAEEApplet a;IMenuCtl * m_pISoftKey; /軟鍵IMenuCtl * m_pIconMenu; /圖形菜單ITextCtl * m_pIText; /文本IMenuCtl * m_pIMenu; /菜單IImageCtl * m_pImage; /圖像AEERect m_rc;IDisplay * m_pIDisplay;int m_nLineHeig
38、ht;IBitmap * m_pBitmap; /原位圖指針I(yè)Bitmap * m_pBitmap_OBJ;/目標位圖指針I(yè)Bitmap * m_pBitmap_OBJ_OBJ;/第二個目標位圖IBitmap * pbmScreen;/屏幕顯示指針NativeColor pColor; /象素點的顏色uint16 i;/循環(huán)變量,要足夠大,即 65536>原位圖文件的長和寬 uint16 j;AEEBitmapInfo bi;AEEDeviceInfo m_dInfo;CMOApp;第 20 頁 共 45 頁驅動模塊提供 SetActive(函數(shù)接口,用于進行功能模塊的切換。模塊切換 的
39、發(fā)起者是當前處于激活狀態(tài)的功能模塊,用 IMENUCTL_IsActive(來判斷。 功能模塊提供以下函數(shù)接口供驅動模塊調用:MobileOffice_InitAppData( 用于初始化功能模塊數(shù)據(jù) BuildMainMenu( 用于創(chuàng)建主界面菜單MobileOfficeUsage ( 用于創(chuàng)建功能界面菜單首先調用 AEEClsCreateInstance ( 注冊實際的數(shù)據(jù)類 CAndyApp、 消息處 理函數(shù) MobileOffice_HandleEvent(、和資源初始化函數(shù) MobileOffice_ InitApp 資 源 釋 放 函 數(shù) MobileOffice_FreeAppD
40、ata(。 驅 動 模 塊 MobileOffice_HandleEvent(接 收 所 有 的 消 息 。 除 了 EVT_APP_START和 EVT_APP_STOP消息, 驅動模塊都交給當前激活的功能模塊處理。 EVT_APP_START表示程序啟動,此時創(chuàng)建了各個功能菜單。并且建立了系統(tǒng)主菜單。static boolean MobileOffice_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParamCMOApp *pMe=(CMOApp*pi;/ IShell * pIShell;switch
41、 (eCodeif(ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_ICONVIEWCTL, (void *&pMe->m_pIconMenu != SUCCESSreturn FALSE;創(chuàng)建所有組件BuildMainMenu(pMe;/ 創(chuàng)建主菜單return(TRUE;case EVT_APP_STOP:/ 程序終止return TRUE;case EVT_KEY:第 21 頁 共 45 頁MobileOffice_SetActive (pMe,eCode,wParam,dwParam;return(TRUE;case
42、 EVT_COMMAND:switch(wParam (詳細代碼見附件菜單模塊用于對菜單進行添加、刪除選項,本系統(tǒng)中用到了較多的菜單控件。 筆者采用的是系統(tǒng)提供的菜單 API。MobileOfficeUsage (pMe,eCode,wParam,dwParamswitch(wParamcase USAGE_MENU_CITY:case IDS_MENU_MFRIEND:case USAGE_MENU_POSITION:case USAGE_MENU_POP:case USAGE_MENU_TRAFFIC:case USAGE_MENU_TRAVEL:case USAGE_MENU_CONFI
43、G:case USAGE_MENU_HELP:case USAGE_MENU_QUIT:default:break;第 22 頁 共 45 頁return TRUE; (詳細代碼見附件按鍵消息處理模塊是比較核心的模塊。對于手機的任何按鍵事件,系統(tǒng)需要做 出相應的反應。 一旦檢測到按下 select 鍵, 那么就建立機執(zhí)行被標記為當前選 項的功能。比如觸發(fā)菜單、觸發(fā)讀取文件、觸發(fā)創(chuàng)建文本框等等。該系統(tǒng)中, 大部分的按鍵事件處理由 MobileOffice_SetActive (完成static void MobileOffice_SetActive (CAndyApp * pMe,AEEEven
44、t eCode, uint16 wParam, uint32 dwParamAEERect *rect;char* szBuf;if(pMe->m_pIconMenu && IMENUCTL_IsActive (pMe->m_pIconMenu return IMENUCTL_HandleEvent(pMe->m_pIconMenu, EVT_KEY, wParam, 0;else if(pMe->m_pIMenu && IMENUCTL_IsActive (pMe->m_pIMenuuint16 reet=IMENUCTL_Get
45、Sel(pMe->m_pIMenu;switch(wParamcase AVK_SOFT1:case AVK_SELECT:if(reet = USAGE_CITY_YINSHI (詳細代碼見附件系統(tǒng)提供了 3種圖像接口-IGraphics、IImage 和 IBitmap, IImage可用于第 23 頁 共 45 頁在屏幕上繪制位圖圖像和顯示動畫位圖, 該接口支持 Windows 位圖 (BMP 格式 以及一種特定設備專有的原位圖格式(Native Bitmap Format ;IBitmap 是一 個用于操作位圖的接口,可以用來進行與位圖相關的操作。在本系統(tǒng)中,大部 分的信息都是靠
46、圖片、文本的形式表現(xiàn)的,所以用到了這些接口。1.顯示圖片信息static boolean MobileOffice_Getmapinfo(CAndyApp * pMe, const char * pszFilepi = ISHELL_LoadImage(pMe->a.m_pIShell,"map information.bmp" /讀取 從服務器獲得的圖片信息if(piISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_IMAGECTL, (void *(&pvc;if(pvc設置區(qū)域;IIMAGECTL_S
47、etProperties(pvc,CP_BORDER;/指 示 控 件 繪 制 邊 框 .IIMAGECTL_Redraw(pvc;/指示控件重繪 .IIMAGE_Release(pi;2.對圖片進行放大、縮小操作對圖像的放大、縮小操作原理是:對位圖進行采樣。如果縮放率是 2:1,則采 樣的方法是隔一個像素點采樣一次。同樣道理,要是目標圖像是原圖像的 30%、 70%,就每 10個像素里采樣 3次、7次。對于 2維圖片,首先對 X 軸方向采樣,采樣完畢后,再對 Y 軸采樣。 以下是圖片操作函數(shù),通過設置 sampleX 、sampleY 值來實現(xiàn)擴縮操作: static int Bitmap_
48、sampling(CAndyApp * pMe,uint16 sampleX, uint16 sampleYuint16 new_x;第 24 頁 共 45 頁uint16 new_y;int nErr;AECHAR fmt='%','d',0;new_x=0;new_y=0;/創(chuàng)建目標位圖的兼容位圖,對 X 軸按照要求變換,而 Y 坐標不變 CHECK_ERROR(IBITMAP_CreateCompatibleBitmap(pMe->pbmScreen, &pMe->m_pBitmap_OBJ, (uint16(uint16(pMe-&g
49、t;bi.cx*sampleX/100, (uint16(uint16pMe->bi.cy;/對 X 軸按照要求變換for(pMe->j=0;pMe->j<=(uint16pMe->bi.cy;pMe->j+/Y軸不變switch(sampleX case 10:/采樣率為 1/10,每 10個點采樣一個點case 20:/采樣率為 20/100,每 5個點采樣一個點case 30:/采樣率為 30/100,每 3個點采樣一個點case 50:/采樣率為 50/100,每 2個點采樣一個點for(pMe->i=0;pMe->i<=(uint
50、16pMe->bi.cx;pMe->i=pMe->i+100/sample X/100/sampleX/得到象素點 IBITMAP_GetPixel(pMe->m_pBitmap,pMe->i,pMe->j, &pMe->pColor ;/寫到新的位圖中IBITMAP_DrawPixel(pMe->m_pBitmap_OBJ,new_x+,new_y,pMe->pColor,A EE_RO_COPY;new_y+;new_x=0;break;(詳細代碼見附件第 25 頁 共 45 頁5.7定位模塊定位請求中首先要取得當前定位請求類型
51、以及當前定位時間。 為提高效率, 每次定位結果以及定位時間都保留在一個緩存中,每當有新的請求命令時,首 先檢查緩存中的上一次定位時間和當前定位時間差值, 如果小于某一個設定值, 則假定本次定位請求和上次請求是同一個定位請求或被定位者的位置在這段時 間內很可能沒有產生顯著變化,系統(tǒng)直接把緩沖的數(shù)據(jù)發(fā)回給定位請求者,否 則注冊定位回調函數(shù),進入處理。圖 5.1定位算法Static void PosititonRequest(KeepPositionType(;/保存定位類型Time=GETTIMESECONDS(;/獲取當前定位時間If(time>ValidPositionTime/如果當前
52、時間超過了上次定位的有效時間 第 26 頁 共 45 頁if(!GetGPSPosition(pMe->m_pPosDeter/注冊回調函數(shù)/如果注冊回調函數(shù)失敗if(m_nPosType=同意被定位請求/如果是同意被定位請求,則發(fā)送定位 失敗數(shù)據(jù)包GetPosition(,定位失敗標志, ;else/否則直接顯示定位失敗RedrawPopWin(“提示,定位失敗”;else/如果注冊回調函數(shù)成功,則顯示正在連接 GPS 網(wǎng)絡RedrawPopWin(“正在連接 GPS 網(wǎng)絡”;打開定位超時處理開關;else/如果上次定位仍然有效,則直接用上次的坐標發(fā)送請求GetPosition(;定位
53、是一個異步處理過程,通過定位回調函數(shù)可以獲得每次的定位結果, 并將定位結果保存在數(shù)據(jù)結構 AEEGPSInfo 中。程序首先得到經度、緯度等位置參數(shù),清除定位超時標志。然后判斷定位 是否真正成功。這可以通過經度緯度是否都為 0來判斷。如果失敗,則提示本 次定位失敗。如果成功,則保存本次定位的時間,然后向服務器發(fā)送剛剛得到 的位置參數(shù),請求得到地圖數(shù)據(jù)以便在終端顯示。Void GetPosCallBack(viod*pUserGPS 查找完成,超時=FALSE;從 數(shù)據(jù)結構 AEEGPSInfo 中獲得經度緯度;if(定位不成功/提示移動用戶定位失敗RedrawPopWin(“提示移動用戶定位失
54、敗”;第 27 頁 共 45 頁Return:KeepValidateTime(;/記錄下次有效定位時間/向服務器發(fā)送剛剛得到的數(shù)據(jù),請求得到地圖和地址數(shù)據(jù)GetPosition(指向通信結構指針;自己的 ID;5.8 系統(tǒng)實現(xiàn)心得與體會本系統(tǒng)的設計與實現(xiàn)涉及到 Microsoft Visual C+ 6.0編程環(huán)境,筆者在幾個 月的探索與研究中總結了 Microsoft Visual C+ 6.0編程環(huán)境下,開發(fā) BREW 應用的一些使用技巧和捷徑,這些應該對大家來說有一定的幫助1. 執(zhí)行 NULL 指針檢查在以下兩種情況下需執(zhí)行檢查: 創(chuàng)建 BREW 接口實例時必須檢查 NULL 指針。
55、如果指針有誤,則該接口將 無法使用。 檢查 BREW 方法或已分配內存所傳遞和返回的所有指針,以確保它們的有 效性。 無效指針應使用異常處理機制進行處理。2. 避免堆棧溢出。不要將大數(shù)組放在堆棧上。 不要在函數(shù)內將大數(shù)組或變量聲明為本地變量, 因 為 BREW 環(huán)境可用的堆棧大小十分有限。 如果需要大量內存 (例如, 大于 256 字節(jié),則使用動態(tài)內存分配操作符,例如 MALLOC 或 IHeap。如果分配處于遞歸例程中,則動態(tài)分配緩沖區(qū)。 如果調用堆棧中的函數(shù)較深, 則監(jiān)控之前大堆棧緩沖區(qū)的堆棧。3.不要編寫緊湊循環(huán)使用緊湊循環(huán)會導致目標設備自動重置。 因此, 不要編寫需要花費大量時間處 理
56、應用程序中單個事件的緊湊循環(huán)。 這樣可以防止將其它事件傳遞給應用程 序,從而避免設備重置。收到事件時, 應用程序將進行所需處理, 然后從該事件返回, 使得其它事件可 以發(fā)送到該應用程序。4. 盡可能多的使用資源使用資源存儲特定語言的字符串、對話框和位圖。 這有助于本地化應用程序, 將它從一種語言的目標設備移至另一種語言的目標設備。 不要在源文件中硬編 碼這些類型的信息。第 28 頁 共 45 頁5. 不要忘記清除內存由于目標移動設備上的可用內存十分有限, 因此必須釋放未使用的內存。 在以 下兩種情況下需釋放內存: 必須釋放所創(chuàng)建對象的所有實例。 應用程序終止時,必須釋放所有動態(tài)內存(所有已分配
57、內存。6.不使用全局或靜態(tài)變量BREW 結構不支持全局或靜態(tài)變量, 因為動態(tài)下載的應用程序無法處理這些數(shù)據(jù) 類型。 此外,使用全局或靜態(tài)變量可能導致連接器出現(xiàn)目標錯誤。 始終將持 久數(shù)據(jù)存儲在小程序結構中。5.9本章小結本章的內容是課題的核心,在前面一章系統(tǒng)的結構設計的基礎之上,詳細 介紹了系統(tǒng)中功能模塊的實現(xiàn)方法。并構建了整個系統(tǒng)框架。最后,對于系統(tǒng) 實現(xiàn)過程中遇到的問題做出了總結。第 29 頁 共 45 頁第六章 系統(tǒng)測試與分析完成了編碼,接下來的重要一步就是功能測試了。測試的目的在于檢查需求 分析和代碼詳細設計兩個階段所預期實現(xiàn)的功能是否都已經正確實現(xiàn)。6.1測試工具高通公司 BREW Emulator 2.0一個最簡單的測試包括某些界面預期的按鍵功能列表(表 4.1,此外還要測 試需求分析中的各個功能選項。通過導航鍵盤上、 下、左、右鍵可以使活動焦點移動到各個選項上,按選擇 鍵(A VK_SELECT可以激活當前選項,結束鍵(紅色鍵退出程序。第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥物質量檢測技術知識考試題庫含答案
- 2025年打麻藥技能考試題及答案
- 2025年服裝品質考試題目及答案
- 挖掘機司機考試考試題庫及答案
- 2025高壓電工資格考試復審題庫及答案
- 質量、環(huán)境管理體系內部審核報告范本
- 實木地板龍骨施工方案
- 安化中考作文真題及答案
- 車庫細石地面施工方案
- 房屋供暖最佳施工方案圖
- 2025年高校教師資格證考試高等教育心理學知識必考題庫及答案(共160題)
- 廣告設計師(三級)技能鑒定考試題庫(濃縮300題)
- GB/T 36547-2024電化學儲能電站接入電網(wǎng)技術規(guī)定
- GB/T 19342-2024手動牙刷一般要求和檢測方法
- 處方管理辦法培訓課件
- 1 《中國人民站起來了》課件高二上學期語文大單元教學同步備課課件(統(tǒng)編版選擇性必修上冊)
- 醫(yī)學教材 《中國急性腎損傷臨床實踐指南》解讀課件
- 第一講:計算復雜性理論
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗人員理論考試題庫及答案
- 2024-2030年中國橡塑密封件行業(yè)發(fā)展分析及發(fā)展趨勢預測與投資風險研究報告
- 高中生物學選擇性必修一測試卷及答案解析
評論
0/150
提交評論