Windows Mobile 6 中为开发人员提供的新功能(1)
| Jim Wilson,JW Hedgehog, Inc。 摘要 Windows Mobile? 6 開發人員平臺版本側重于幾個核心目標:簡化行業 (LOB) 應用程序開發和部署、安排構建單個應用程序的任務(該應用程序更易于在 Windows Mobile 系列中的許多不同設備上成功運行),并提供增強的用戶體驗。本文從開發人員的角度介紹了 Windows Mobile 6 的新功能及其用途。本文還介紹了 Windows Mobile 6 軟件開發工具包 (SDK) 提供的許多新功能,并為開始開發 Windows Mobile 6 應用程序提供了一些指導。 適用于
本頁內容
簡介Windows Mobile 6 開發人員平臺版本側重于幾個核心目標:簡化 LOB 應用程序開發和部署、安排構建單個應用程序的任務(該應用程序更易于在 Windows Mobile 系列中的許多不同設備上成功運行),并提供增強的用戶體驗。 為實現這些目標,Windows Mobile 6 以 Windows Mobile 的先前版本(特別是 Windows Mobile 5.0)為基礎而構建。Windows Mobile 5.0 提供了許多平臺增強功能和工具增強功能,用作 Windows Mobile 6 應用程序開發的基礎。 如果您不熟悉 Windows Mobile 5.0 或者想要復習一下 Windows Mobile 5.0,請查看“Windows Mobile 5.0 中為開發人員提供的新功能”。在“Windows Mobile 5.0 中為開發人員提供的新功能”一文中討論的功能、工具和 API 同樣適用于 Windows Mobile 6。 本文從開發人員的角度介紹了 Windows Mobile 6 的新功能及其用途。本文還介紹了 Windows Mobile 6 軟件開發工具包 (SDK) 提供的許多新功能,并為開始開發 Windows Mobile 6 應用程序提供了一些指導。 以下所列內容簡要介紹了 Windows Mobile 6 和 Windows Mobile 6 SDK 中與開發人員最為相關的一些功能。 簡化的行業應用程序開發和部署
更易于構建一個在許多設備上運行的應用程序
增強的用戶體驗
了解 Windows Mobile 6 命名約定從引入最初的 Pocket PC 設備至今,多年來移動設備已有了很大改進。如今,有許多不同的設備類型和外觀造型可用,每個都有其各自的優勢。過去,設備類型之間有明顯的差別;而如今,區分這些設備的界限已日益模糊。傳統術語(例如 Pocket PC、Smartphone 和 Pocket PC Phone Edition)的說明性可能不強,而且有時會導致混淆。為使設備間的功能和關系更清晰,Microsoft 將為所有版本的 Windows Mobile 6 操作系統引入新的命名約定。表 1 顯示了 Windows Mobile 5.0 和 Windows Mobile 6 操作系統命名約定之間的關系。
新的命名約定從應用程序角度側重于每個版本的功能,而不是側重于設備硬件。 如果您以前開發過 Windows Mobile 應用程序,則會在所有 Windows Mobile 系列設備上感受到完全相同的開發人員體驗;在整個 Windows Mobile 系列中均使用 API、工具和實用程序的公用集。在各種 Windows Mobile 設備中,存在差異的一個功能是觸摸屏支持。Pocket PC 和 Pocket PC Phone Edition 設備具有觸摸屏,因此支持直接屏幕輸入;而 Smartphone 設備沒有觸摸屏,因此不支持直接屏幕輸入。 為了與此關鍵差別更一致,Windows Mobile 6 SDK 不再像早期版本的 Windows Mobile SDK 那樣,以特定的設備類型為目標。而是使用兩個版本的 Windows Mobile 6 SDK 區分具有觸摸屏的設備和不具有觸摸屏的設備。使用 Windows Mobile 6 Professional SDK 為具有觸摸屏的設備開發應用程序,這些具有觸摸屏的設備過去稱為 Pocket PC 或 Pocket PC Phone Edition。使用 Windows Mobile 6 Standard SDK 為不具有觸摸屏的設備開發應用程序,這些不具有觸摸屏的設備過去稱為 Smartphone。表 2 顯示了 Windows Mobile 6 SDK 和 Windows Mobile 6 設備之間的關系。
注意,Windows Mobile 6 Classic 和 Windows Mobile 6 Professional 設備具有觸摸屏,二者均使用 Windows Mobile 6 Professional SDK;而 Windows Mobile 6 Standard 設備不具有觸摸屏,它使用 Windows Mobile 6 Standard SDK。 返回頁首強大的 Windows Mobile 5.0 兼容性Windows Mobile 6 可以很好地與 Windows Mobile 5.0 應用程序兼容。與 Windows Mobile 5.0 兼容是 Windows Mobile 6 的明確目標,且已在整個 Windows Mobile 6 開發過程中進行了大量測試。絕大多數 Windows Mobile 5.0 應用程序都將在 Windows Mobile 6 設備上運行而無需進行修改。但需注意的是,兼容性的前提是應用程序使用受支持的 API。如您所猜想的那樣,使用未記錄或不受支持的 API 的 Windows Mobile 5.0 應用程序可能會遇到兼容性問題,而使用受支持的 API 的應用程序卻不會遇到這些問題。 Windows Mobile 6 為 Windows Mobile 5.0 應用程序提供了強大的兼容性,允許您使用 Windows Mobile 5.0 SDK 或 Windows Mobile 6 SDK,構建針對 Windows Mobile 5.0 和 Windows Mobile 6 設備的單個可執行程序。這些應用程序將在 Windows Mobile 5.0 上順利地運行,并將在 Windows Mobile 6 上更好地運行,這是因為 Windows Mobile 6 進行了許多改進,例如將 .NET Compact Framework 2.0 和 SQL Server Compact Edition 合并到 ROM 中。 返回頁首簡化應用程序開發Windows Mobile 6 SDK 提供了使用 Microsoft Visual Studio? 2005 開始開發 Windows Mobile 6 應用程序時所需的工具和庫。將 Visual Studio 2005 和 Windows Mobile 6 SDK 結合在一起,可在提供一些比以往更輕松地開發 Windows Mobile 應用程序所需的工具和功能的同時,創建一個功能強大的移動設備開發平臺。 工具本部分介紹 Windows Mobile 6 SDK 所提供的新開發工具,以及每個工具在應用程序開發過程中所起的作用。 Device Emulator 2.0仿真程序始終都是移動應用程序開發的重要部分,允許您測試應用程序而無需訪問物理設備。您能使用仿真程序(無需訪問真實設備)進行的測試越多,工作起來就越輕松、迅速,并且花費也更少。Device Emulator 2.0 作為 Windows Mobile 6 SDK 的一部分而安裝,它建立在 Device Emulator 1.0 的舊版基礎之上,可通過模擬許多以前不具備的新設備狀態和功能,利用真實的設備體驗提供更高的保真度。正像 Device Emulator 1.0 那樣,Device Emulator 2.0 是一款真正的 ARM 仿真程序。作為真正的 ARM 仿真程序,Device Emulator 2.0 運行與真實設備相同的可執行文件,因而無需為仿真程序管理真實設備所需的獨立應用程序可執行文件。有了 Device Emulator 2.0,對于仿真程序和真實設備,只需要一組可執行文件即可。 Windows Mobile 6 SDK 安裝過程自動使用 Device Emulator 2.0 替換 Visual Studio 2005 所安裝的 Device Emulator 1.0。因此,所有 Visual Studio 2005 Windows Mobile 項目將使用 Device Emulator 2.0,并將能夠利用 Device Emulator 2.0 提供的新功能和改進。 更快的執行速度應用程序測試中最大的阻力之一就是應用程序啟動和執行速度緩慢。為減少由仿真程序性能導致的延遲,Device Emulator 2.0 已進行了重要優化。由于每個應用程序不同,因此很難說出有多少單個應用程序受仿真程序優化的影響,但是與 Device Emulator 1.0 相比,Device Emulator 2.0 最多可將性能提高 40%。 仿真效果更好的設備Device Emulator 2.0 增加了許多新的設備外觀造型,使您可以在這些設備投入市場之前,就許多最新的設備外觀造型測試應用程序行為。圖 1 顯示了設備仿真程序中的全新 320x320 顯示器外觀造型。320x320 顯示器是 Windows Mobile 6 提供的新設備外觀造型之一。 圖 1. 設備仿真程序模擬新的 Windows Mobile 6 320x320 顯示器外觀造型 除許多新的 Windows Mobile 6 設備外,Device Emulator 2.0 還提供了一套豐富的 Pocket PC 2003SE、Smartphone 2003SE、Windows Mobile 5.0 Pocket PC 和 Windows Mobile 5.0 Smartphone 設備仿真程序。圖 2 顯示了設備仿真程序中的 Pocket PC 2003SE 設備和 Windows Mobile 5.0 Smartphone。 圖 2. 模擬 Pocket PC 2003SE 和 Windows Mobile 5.0 Smartphone 的設備仿真程序 無論 Device Emulator 2.0 是模擬新 Windows Mobile 6 設備還是模擬舊式設備之一,該仿真程序都仍然提供本部分所討論的所有新功能。 電源狀態仿真就本質而言,移動設備大部分時間使用的是電池電源,只是偶爾連接交流電源。當設備的電池電量級別變得非常低時,應用程序可能需要采取特定操作,以避免在全部電池電量耗盡時丟失數據。現在,為了能夠測試電源狀態變化對應用程序的影響,Device Emulator 2.0 引入了電源狀態仿真。 圖 3. 設備仿真程序的電源狀態配置控制 如圖 3 所示,仿真程序配置對話框允許您通過選中或清除“電池:”復選框,在使用電池電源和連接交流電源兩種仿真程序狀態之間進行切換。當狀態為使用電池電源時,還可以設置電池電量級別百分比。仿真程序同設備一樣,對這些電源狀態和電量級別方面的變化做出反應。仿真程序顯示相應的圖標和消息;它還觸發相應的“狀態和通知代理”事件。 電話情景模式仿真Device Emulator 2.0 支持三個新的電話情景模式:耳機、揚聲器和車載套件。如圖 4 所示,通過選中仿真程序配置對話框上的相應復選框,可以啟用這些情景模式中的每個情景模式。選中情景模式復選框時,仿真程序的行為就好像您已插入了耳機、啟用了揚聲器或連接了車載套件一樣,并會觸發所有相應的“狀態和通知代理”事件。 圖 4. 設備仿真程序的情景模式配置控制 蜂窩仿真程序現在使用的大多數 Windows Mobile 設備都有電話和其他無線通信功能。在很多情況下,您都可能希望應用程序與這些通信功能交互。您可能只是想在電話響鈴的時候,將應用程序播放的音樂的音量減小;或者,可能需要加入一些涉及與通信硬件更密切地合作的更為復雜的功能。無論哪種情況,開發這些類型的應用程序在過去一直都很困難,而最大的難點在于測試此類應用程序。 為了解決測試此類應用程序的困難,Windows Mobile 6 SDK 包含了蜂窩仿真程序。利用蜂窩仿真程序,您可以在設備仿真程序內測試應用程序在不同蜂窩通信情況下的行為。圖 5 顯示了蜂窩仿真程序。 圖 5. 利用蜂窩仿真程序可以在設備仿真程序內測試電話和通信行為 蜂窩仿真程序是一個功能強大的工具,可用來測試當蜂窩通信的狀況變化時應用程序的行為。蜂窩仿真程序允許您執行一些簡單的測試,例如通過仿真程序撥打電話、接聽來電和掛斷電話等。它還為 SMS 消息提供類似功能。對于需要測試更復雜功能的開發人員而言,蜂窩仿真程序還支持修改 SIM 配置以及模擬 2G 網絡和 3G 網絡之間的切換。所有這些測試不需要物理設備便可完成。 要將蜂窩仿真程序和設備仿真程序一起使用,首先需要將蜂窩仿真程序與設備仿真程序相關聯。創建關聯非常容易。
當仿真程序完成重置過程后,您會看到仿真程序現在顯示蜂窩服務可用。 圖 6. 輸入蜂窩仿真程序端口號以便為設備仿真程序啟用蜂窩服務仿真 FakeGPS廣泛使用的低成本全球定位系統 (GPS) 設備與 Windows Mobile 5.0 中引入的易于使用的 GPS 中間驅動程序相結合,為開發人員提供了輕松定位他們的應用程序的機會。在挑戰定位應用程序的歷史過程中,人們一直在尋找一個好的方法來對它們進行測試。Windows Mobile 6.0 通過 FakeGPS 實用程序解決了此問題。 FakeGPS 實用程序允許您輕松地測試定位應用程序,而無需訪問活動的 GPS 設備或活動的 GPS 源。您可以創建一個包含 GPS NMEA 消息列表的簡單文本文件,將該文本文件復制到您設備上的 \Program Files\FakeGPS\GPS 文件夾中,然后啟用 FakeGPS。以下是示例 FakeGPS 輸入文件的一部分。 $GPGLL,4738.0173,N,12211.1874,W,191934.767,A*21$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E$GPGSV,3,1,9,8,71,307,43,27,78,59,41,3,21,47,0,10,26,283,40*77$GPGSV,3,2,9,29,13,317,0,28,37,226,37,13,32,155,36,19,37,79,42*42$GPGSV,3,3,9,134,0,0,0*46$GPRMC,191934.767,A,4738.0173,N,12211.1874,W,0.109623,12.14,291004,,*21$GPGGA,191935.767,4738.0172,N,12211.1874,W,1,06,1.4,32.9,M,-17.2,M,0.0,0000*75$GPGLL,4738.0172,N,12211.1874,W,191935.767,A*21$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E$GPRMC,191935.767,A,4738.0172,N,12211.1874,W,0.081611,15.81,291004,,*2AFakeGPS 與 GPS 中間驅動程序結合使用,將來自該文本文件的消息路由到讀取 GPS 源的所有應用程序。因為 FakeGPS 實用程序直接使用 GPS 中間驅動程序,所以您可以使用它在真實設備和設備仿真程序上測試您的應用程序,而無需對程序進行任何修改。要激活 FakeGPS 數據源,請使用 FakeGPS 實用程序選擇所需的輸入文件,然后選擇圖 7 所示的“啟用”選項。 圖 7. 設置 FakeGPS 源以啟用定位應用程序的測試 安全配置管理器如果您辛辛苦苦地開發出應用程序,但在用戶設備上安裝時卻突然失敗,沒什么比這更令人沮喪的了。不幸的是,如果您未對在最終用戶設備的安全設置下運行的應用程序進行測試,有時會發生此情況。避免產生安全相關問題的最佳方法是將安全規劃作為應用程序設計、開發和測試過程的一個核心部分。這正是安全配置管理器的用途。 設備安全管理器運行在臺式機上,提供兩個基本服務。設備安全管理器顯示當前連接到臺式機的設備或仿真程序的當前安全設置(在 Windows XP 上通過 Microsoft ActiveSync? 連接,在 Vista 上通過 Windows Mobile Device Center (WMDC) 連接)。顯示的信息包括設備安全策略、各個安全設置的列表,以及安裝到每個設備證書存儲中的證書的列表。 設備安全管理器還允許您使用公共安全策略配置仿真程序,從而允許您充分地測試不同安全策略對您應用程序的影響,而無需真實設備。圖 8 顯示了剛剛將仿真程序配置為具有一層提示安全策略后的設備安全管理器。 圖 8. 更新仿真程序安全策略后的安全配置管理器 使用設備安全管理器,可以充分利用仿真程序輕松地對應用程序進行測試,同時確保應用程序在不同安全策略下按預期方式運行。 注意: 有關 Windows Mobile 安全性的詳細信息,請參閱 Windows Mobile 開發人員中心或 Mobile2Market 常見問題。 CabSignTool在分發應用程序之前,您通常必須使用相應的證書來簽署應用程序可執行文件和安裝文件,以便將您的組織標識為該應用程序的發布者。由于安全原因,必須簽署用于安裝該應用程序的所有應用程序可執行文件(*.dll 和 *.exe)以及 CAB 文件。簽署每個單獨的可執行文件、構建 CAB 文件,然后再簽署 CAB 文件,這個過程很費時,尤其是在應用程序由幾個可執行文件組成時。CabSignTool 實用程序是一個命令行實用程序,它將您從簽署應用程序的各個部分的繁瑣工作中解脫出來,從而簡化了應用程序簽署過程。 CabSignTool 實用程序一次可以簽署一個 CAB 文件和所有包含的可執行文件。您只需構建應用程序可執行文件并創建 CAB 文件,而無需簽署所有文件。CabSignTool 實用程序然后將 CAB 文件內容分解、簽署每個可執行文件、重新組合并入了可執行文件的已簽署版本的 CAB 文件,然后簽署該 CAB 文件。CabSignTool 實用程序可以讓您選擇是使用單個證書同時簽署 CAB 文件和可執行文件,還是使用不同的證書分別簽署可執行文件和 CAB 文件。 Hopper設備上的移動應用程序往往持續運行數周或數月而不關閉。在這么長的時段內長時間使用應用程序有時可能會暴露應用程序中的一些問題,而這些問題通過傳統的應用程序測試是難以發現的。要發現這些問題,必須在測試周期過程中使應用程序承受其在部署后將會經歷的同樣類型的壓力。Hopper 實用程序提供了一種執行此類壓力測試的方法。 Hopper 實用程序模擬用戶在應用程序內的隨機位置執行快速單擊操作。這會使應用程序承受巨大的壓力,其所執行的非結構化應用程序使用程度能夠暴露執行傳統應用程序功能測試時不易發現的應用程序錯誤。Hopper 實用程序可用于對單一應用程序進行壓力測試,或是在納入更大隨機性的情況下(除了在各個應用程序內隨機執行單擊操作外,還隨機在應用程序之間進行切換)同時對幾個應用程序進行壓力測試。應在所有的應用程序測試中都使用 Hopper 實用程序。同樣是這個實用程序,也可用于測試 Windows Mobile 設備來確保設備的穩定。在測試中使用 Hopper 實用程序不僅可以驗證應用程序的穩定性,還可以驗證應用程序并未給設備帶來不穩定性。 Local Server FrameworkLocal Server Framework 是一些工具和類,它們專為簡化對依賴與遠程服務器通信的移動應用程序進行測試而設計。為了幫助簡化移動應用程序的開發,可以通過 Local Server Framework 建立一個虛擬網絡和服務器,接收應用程序發出的網絡調用并返回程序所要求的結果。通過使用受到良好控制的本地服務器環境,可以更輕松地將移動應用程序中由外部網絡導致的問題或服務器問題與程序中發生的那些問題加以區分。 返回頁首示例Windows Mobile 6 SDK 提供了幾個您可能會覺得有幫助的示例。這些示例涉及在開發 Windows Mobile 6 應用程序時可能會遇到的大部分主題,可以通過它們節省大量時間,還可以將它們作為學習工具。以下是幾個最值得注意的示例。 UILayout本示例展示了如何構建能夠動態地適應設備外觀造型差異的自用應用程序。本示例涉及如何整合停靠、定位和其他顯示管理功能。本示例還包含一個用于封裝此顯示邏輯大量內容的類 ScreenLib。ScreenLib 類以可重用性為設計宗旨,可以輕松地調整它來適應您自己的應用程序。 RingtoneManager本示例展示了新 Windows Mobile 6 聲音 API 的使用。 BasicRecognition、InkNotes 和 InkSerialization這些示例展示了 WISP Lite API 的幾種用途。所涉及的主題包括對基于手寫的輸入執行文本識別、在應用程序內使用基于手寫的輸入以及將手寫內容存儲在文件中。 GPS本示例展示了如何在托管應用程序內訪問 GPS Intermediate Driver。該示例包括用于從托管應用程序提取本機調用詳細信息的所有必需包裝方法。 .NET Compact Framework 2.0所有 Windows Mobile 6.0 設備的 ROM 中都包括 .NET Compact Framework 2.0 SP1。這使您可以充分利用 .NET Compact Framework 2.0 所提供的豐富功能以及在 .NET Compact Framework 1.0 基礎上進行的眾多改進,而不必關心是否需要將 .NET Compact Framework 2.0 運行時與應用程序一并加以部署。甚至連 .NET Compact Framework 1.0 應用程序在 Windows Mobile 6 設備上的運行情況都會得到改善,因為 .NET Compact Framework 1.0 應用程序與 .NET Compact Framework 2.0 完全兼容,所以能夠在 Windows Mobile 6 設備上運行,而且不必對程序進行任何更改便可充分利用 .NET Compact Framework 2.0 的改進。.NET Compact Framework 2.0 進行了許多改進,這些改進旨在提高開發人員生產力、增強與完整 .NET Framework 的保真度和加大對設備功能的支持。本部分介紹 .NET Compact Framework 2.0 部分最值得關注的功能。 用戶界面功能得到了改進盡管 .NET Compact Framework 2.0 的大量改進遍及各處,但許多最明顯的改進都是針對與用戶界面有關的功能。 Windows 窗體控件 控件是應用程序用戶界面的構建基塊。許多應用程序的可用性與應用程序對可用控件的利用情況有直接關系。.NET Compact Framework 2.0 提供了許多新的控件;這些新控件有助于簡化應用程序用戶界面設計以及為用戶提供改進的體驗。 MonthCalendar 和 DateTimePicker 控件 作為新控件的一部分,.NET Compact Framework 2.0 提供了兩個用于顯示和輸入基于日期的信息的控件:MonthCalendar 控件和 DateTimePicker 控件。圖 9 中顯示了這兩個控件。如果想要在應用程序中包括日歷的外觀并使其在窗體上始終可見,MonthCalendar 控件會有幫助。DateTimePicker 非常適合用于顯示尺寸有限的移動設備;日期和時間信息顯示在看似 TextBox 控件的控件中,但當用戶需要輸入數據時,DateTimePicker 控件會顯示完整的日歷。 圖 9.MonthCalendar 控件和 DateTimePicker 控件。 WebBrowser 控件 對于想要整合基于 Rich HTML 顯示的應用程序,.NET Compact Framework 2.0 提供了圖 10 中所示的 WebBrowser 控件。WebBrowser 控件提供了許多事件,應用程序可以通過它們跟蹤用戶與 WebBrowser 控件內容的交互;必要時應用程序可以通過自定義行為響應用戶交互事件。 圖 10. 顯示 Windows Live 移動搜索頁面的 WebBrowser 控件 Notification 控件 Notification 控件是新控件中最值得關注的控件之一。可以使用 Notification 控件向用戶顯示消息,而不會更改用戶當前活動的上下文。還可以通過 Notification 控件在彈出式氣球中顯示消息,這與 Windows Mobile 設備顯示電池電量不足消息的方式類似。 來自:http://www.microsoft.com/china/MSDN/library/Mobility/pocketpc/bb278115.mspx?mfr=true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
轉載于:https://www.cnblogs.com/zzq-gates/archive/2008/01/31/1059643.html
總結
以上是生活随笔為你收集整理的Windows Mobile 6 中为开发人员提供的新功能(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何理解Library List
- 下一篇: 笔记本键盘设置