Windows Mobile 6 中為開發人員提供的新功能(3)

來源:互聯網
上載者:User
文章目錄
  • 遵循安全最佳實務
  • 在所有裝置上都統一的 API 集
  • 裝置模擬
  • Visual Studio 2005 設計時支援
  • 運行時和 API 支援
  • 改進了外觀
  • 通過新的手寫 API 提供新輸入選項
  • 通過新的聲音 API 提供增強音頻體驗
  • 新的裝置狀態資訊
  • 託管應用程式開發
  • 本機應用程式開發
  • 資料庫應用程式開發
構建一個在許多裝置上啟動並執行應用程式

Windows Mobile 裝置的靈活性及強大的可程式化性使得越來越多的人使用它們來實現各種目的。由於用途是如此的廣泛,因此沒有一種裝置外觀造型能夠適用於所有人。為滿足如此多樣的使用者需求,Windows Mobile 裝置提供有多種外觀造型。表 4 顯示了部分常見的 Windows Mobile 裝置外觀造型。

表 4. 常見的 Windows Mobile 裝置外觀造型
尺寸 解析度 觸控螢幕

176x220

96 dpi

240x320

131 dpi

320x240

131 dpi

320x320*

128 dpi

240x320 / 320x240

96 dpi

480x640/640x480

192 dpi

240x240

96 dpi

480x480

192 dpi

* Windows Mobile 6 中新增的解析度

由於有這麼多種類的外觀造型可以使用,因此您必須確保所構建的應用程式能夠適應裝置外觀造型的差異。您需要記住的是,Windows Mobile 裝置支援的外觀造型列表的內容正在不斷得到擴充。Windows Mobile 6 包括許多新的功能和資源,目的是減少構建能夠輕鬆地適應外觀造型差異的應用程式所需的工作量。您將會發現,Windows Mobile 6 使得既能利用每個裝置的特定能力,又能在多種裝置外觀造型上順利工作的應用程式的構建變得前所未有的簡單。

注意:

320x320 顯示外觀造型引入了一個新的解析度和與之前外觀造型略有不同的顯示地區。請確保在您的應用程式測試中包括這個新的外觀造型;否則,它與其他外觀造型的差異可能會導致應用程式在採用該外觀造型的裝置上顯示時遇到困難。

遵循安全最佳實務

最初的 Windows Mobile Pocket PC 裝置包括的裝置安全功能非常少。隨著該平台的成熟,其安全性也日益提高。改進 Windows Mobile 平台安全性的趨勢可能還將繼續下去。為了最大限度減少與未來版本 Windows Mobile 的相容性問題,現在就應著手將僅有的幾個安全最佳實務整合到您的應用程式中。

您的應用程式應只嚮應用程式可執行檔所在的檔案夾或“我的文件”檔案夾寫入內容。在未來的某個時間,可能需要具備特殊許可權才能向這些檔案夾以外的檔案夾寫入內容。 寫入註冊表時,只向 HKEY_CURRENT_USER 登錄區寫入內容。與檔案系統類似,在未來的某個時間,可能需要具備特殊許可權才能向註冊表的其他地區寫入內容。

在所有裝置上都統一的 API 集

Windows Mobile 裝置提供了在所有 Windows Mobile 裝置上都統一的 API 集。這是一個關鍵因素,它使構建能夠在所有 Windows Mobile 裝置上工作的單一應用程式可執行檔變得切實可行。在所有 Windows Mobile 裝置上,Win32 API 和 .NET Compact Framework 2.0 都是全面和一致的。擁有一致的 API 集減輕了為不同裝置類型管理和分發單獨的可執行檔所需進行的工作。

確實需要做特殊考慮的一個領域是裝置顯示,本部分的其餘內容將對此做專門介紹。

裝置模擬

裝置模擬器是開發能夠在不同外觀造型裝置上成功啟動並執行應用程式的最重要工具之一。藉助於裝置模擬器,可以在許多不同外觀造型的裝置上測試應用程式而不必訪問採用這些外觀造型的物理裝置。Visual Studio 2005 和 Windows Mobile 6 SDK 提供的模擬器映像加在一起超過了 25 種,讓您可以在多種外觀造型的裝置上全面地測試應用程式的行為。有關該模擬器支援的眾多裝置外觀造型的樣本,請參閱圖 15。

圖 15. 幾個裝置模擬器外觀造型樣本

Visual Studio 2005 設計時支援

Visual Studio 2005 表單設計器提供了快速易用的應用程式使用者介面構建機制。使用該設計器時,在建立和修改表單外觀後能夠立即看到結果。這種所見即所得 (WYSIWYG) (WYSIWYG) 設計時體驗並不限於採用靜態使用者介面的應用程式。Visual Studio 2005 表單設計器能夠識別外觀造型,因此可以通過它查看應用程式表單在不同外觀造型上的外觀。此項功能節約了大量時間,因為它使您不必執行應用程式就能看到其在不同外觀造型上的效果。

要查看從縱向向橫向旋轉時表單的顯示效果,可以按右鍵表單,然後將表單向右或向左旋轉 90 度。可以再次單擊表單,將其旋轉回縱向顯示。圖 16 顯示了 Visual Studio 2005 表單設計器中一個從縱向向橫向旋轉的表單。

圖 16. 使用 Visual Studio 2005 表單設計器查看從縱向向橫向旋轉時表單布局的變化

為查看其他顯示尺寸和顯示解析度變化的效果,Visual Studio 2005 提供了一個僅限設計時使用的屬性“外觀設定”。

選擇新的“外觀設定”值時,Visual Studio 2005 表單設計器會按表單在所選外觀造型中出現時的樣子顯示表單。圖 17 顯示了圖 16 中的表單在選擇“Windows Mobile 6 Professional Square”(Windows Mobile 6 專業方形)外觀設定時的樣子。請注意,其中添加了捲軸以顯示表單底部的控制項。

圖 17. 在 Visual Studio 2005 表單設計器中的正方形外觀設定內查看圖 16 中的表單

運行時和 API 支援

支援裝置外觀造型上的差異是 Windows Mobile 應用程式開發至關重要的基礎。為協助您實現對裝置外觀造型差異的支援,.NET Compact Framework 2.0 類和運行時提供了對動態響應裝置外觀造型變化的內建支援。與此類似,本機應用程式開發人員也有幾個能夠提供類似支援的 API。

託管應用程式

.NET Compact Framework 2.0 提供了幾個針對託管應用程式的新功能,它們使運行時能夠自動調整控制項的大小和位置:控制項停靠、控制項定位、自動滾動和自動縮放。停靠控制項靠著其父控制項的一條邊放置,並沿該邊填滿整個地區。為響應顯示尺寸上的差異,控制項會自動調整其大小以始終填滿父控制項的整條邊。請參閱本文前面圖 11 中停靠控制項的樣本。

定位控制項在該控制項的一條或多條邊與父控制項的邊之間保持固定距離。為響應顯示尺寸上的差異,定位控制項會自動調整其自身的大小,以在控制項的定位邊與父控制項的邊之間保持適當的距離。本文前面的圖 12 中顯示有定位控制項。

.NET Compact Framework 2.0 通過 Form 控制項上的 AutoScroll 和 AutoScaleMode 屬性提供自動滾動和自動縮放功能。當表單的 AutoScroll 屬性設定為 true 時,在顯示尺寸的變化導致看不到表單的某些控制項時,表單會自動添加捲軸。裝置外觀造型差異並不限於尺寸的變化,不同裝置外觀造型的解析度也可能不同。裝置解析度上的差異可能導致應用程式表單的控制項顯得非常小或非常大。通過將表單的 AutoScaleMode 屬性設定為 AutoScaleMode.Dpi,表單控制項會自動縮放其大小,以便能夠在不同的顯示解析度下正確地顯示。

本機應用程式

Microsoft C++ 提供了二十多個函數和宏,用於處理與適應裝置顯示差異有關的常見任務,儘管這對 Windows Mobile 6 而言並不是什麼新功能。可以在位於 %Program Files%\Microsoft Visual Studio 8\ VC\ce\atlmfc\include 檔案夾的 DeviceResolutionAware.h 標頭檔中找到它們。表 5 只顯示了上述函數和宏中的幾個。

表 5. 可以協助適應裝置顯示差異的部分自有函數和宏
函數或宏 說明

GetDisplayMode

返回標識當前顯示方向為縱向、橫向還是正方形的值。

SCALEX、SCALEY、SCALERECT、SCALEPT

根據需要調整該值以適應當前顯示解析度。

StretchIcon

調整表徵圖的大小以適合當前顯示地區。

RelayoutDialog

將資料從一個對話方塊複製到另一個對話方塊,當使用者在顯示對話方塊的情況下更改裝置顯示方向時會有協助。這使應用程式能夠顯示另一個與原始對話方塊具有相同控制項的對話方塊,但其尺寸更適合於當前解析度。

FixupDialogItem

解決應用程式更改對話方塊大小時會發生的常見問題;例如,在 ListBox 控制項或 ComboBox 控制項的選擇滾動出顯示地區時將其滾動進視野內。

支援資源

為減少將外觀造型適應能力納入應用程式所花費的時間,Microsoft 提供了幾個資源來為您提供協助。這些資源對實現應用程式時需要遵循的許多最佳實務做了說明。這些資源還提供了一些有效代碼,能夠處理與處理裝置差異有關的許多常見問題。不僅可以將該代碼用作如何解決裝置外觀造型差異的樣本,還可以將該代碼納入到應用程式中並立即加以利用。

面向託管應用程式開發人員的資源

Microsoft 模式和實施方案小組為託管應用程式開發人員提供了移動用戶端軟體工廠。移動用戶端軟體工廠是用於應對移動開發人員面臨的許多最常見情況的最佳實務、原始碼、組件和樣本的組合。針對處理裝置外觀造型差異的問題,移動用戶端軟體工廠提供了 OrientationAwareControl。OrientationAwareControl 與 Visual Studio 2005 協同工作,讓您可以為包含一個或多個子控制項的控制項建立圖形化布局;控制項布局定義的一部分工作便是為每個不同的外觀造型定義不同的布局。

使用 OrientationAwareControl 時,首先按照希望控制項在一種外觀造型中出現時的樣子定義控制項布局。然後在 Visual Studio 2005 中更改外觀造型,以瞭解使用新外觀造型查看時控制項的外觀。如果對在新外觀造型上查看的控制面板不滿意,可以調整控制項的新外觀造型布局而不影響控制項原始外觀造型的布局。控制項會為每個不同的外觀造型保留單獨的布局資訊,供在運行時使用。應用程式運行時,OrientationAwareControl 會以適合於當前外觀造型的布局呈現。例如,如果應用程式是在顯示尺寸為 240x320、解析度為 96 dpi、方向為縱向的裝置上運行,則 OrientationAwareControl 會使用您為 240x320 顯示尺寸、96 dpi 解析度和縱向方向定義的布局。如果使用者將裝置方向旋轉為橫向,則 OrientationAwareControl 會以為 320x240 顯示尺寸、96 dpi 解析度和橫向方向定義的布局進行顯示。對於顯示解析度和尺寸變化,OrientationAwareControl 的作用方式類似。

另一個面向託管應用程式開發人員的重要資源是移動行業 Solution Accelerator 工具包。該工具包為 LOB 開發人員提供了示範如何構建 Windows Mobile LOB 應用程式的資源。該工具包包括帶有詳盡注釋的完整原始碼、樣本資料庫和 100 多頁的文檔。該工具包包括以不同角色的使用者(包括客戶服務、倉庫工人和送貨司機)為目標使用者的應用程式組件。除了提供應用程式開發指導外,該工具包還包括在企業規模上成功部署移動 LOB 應用程式的最佳實務。

面向本機應用程式開發人員的資源

Windows Mobile 6 SDK 包括供本機應用程式開發人員使用的 UILayout 樣本。此樣本示範了如何?使用者介面會自動調整以適應裝置顯示差異的本機應用程式。該樣本的 ScreenLib 類通過它提供的許多方法(包括用於停靠控制項、定位控制項、對齊控制項、最佳化應用程式控制項布局的方法及眾多其他方法)完成大量與使用者介面有關的工作。ScreenLib 類以可重用性為設計宗旨,因此可以將該類直接納入到自己的應用程式中,利用它提供的眾多功能。

一般資源

有關構建能夠在全系列 Windows Mobile 裝置外觀造型上有效工作的應用程式的最新資訊,請訪問 Windows Mobile 調整您的應用程式頁面。“Windows Mobile 調整您的應用程式”頁面是您的一站式資產庫,它提供了與開發可調整式 Windows Mobile 應用程式有關的所有內容(包括白皮書、網路廣播、公告及其他內容)。

返回頁首

增強使用者體驗

Windows Mobile 6 提供了專註於增強使用者體驗的新功能。這些功能通過提供新的使用者互動方式和新的裝置狀態變化回應程式式,為開發人員提供了改進其應用程式可用性的機會。

改進了外觀

Windows Mobile 6 徹底重構了裝置外觀。顯示比舊版本要清晰和簡潔得多。進行了最顯著改動的其中一個地方是 Pocket Outlook 螢幕。這些螢幕不僅提供了更加清晰和簡潔的顯示,還簡化了資訊的查看和導航。只需在 Windows Mobile 6 裝置上運行,不必做任何更改,您的應用程式就會從上述的大部分改進中受益。

Windows Mobile 提供了許多標準對話表單,包括連絡人選擇對話方塊和訊息傳送表單。在您的應用程式中使用的這些標準對話方塊與在 Pocket Outlook 中使用的表單相同,因此通過您的應用程式查看時與直接在 Pocket Outlook 中使用時它們都具有相同的改進後的外觀。類似地,圖片選擇對話方塊也從整體顯示改進中受益。對於使用 .NET Compact Framework 2.0 DocumentList 類以便使用者尋找和開啟檔案的應用程式,也是如此。圖 18 顯示了新的 Windows Mobile 6 圖片選擇對話方塊。

圖 18. 新的 Windows Mobile 6 圖片選擇對話方塊

類似地,圖片選擇對話方塊也從整體顯示改進中受益。對於使用 .NET Compact Framework 2.0 DocumentList 類以便使用者尋找和開啟檔案的應用程式,也是如此。

通過新的手寫 API 提供新輸入選項

Windows Mobile 6 包括一個輕型版本的 Tablet PC WISP 手寫 API,稱為 WISP Lite。WISP Lite 為所有 Windows Mobile 6 Classic 和 Windows Mobile 6 Professional 裝置帶來了豐富的手寫功能,強大而且靈活性高。WISP Lite 能夠完全相容 Tablet PC 手寫資料,並包括用於手寫內容收集、識別、呈現和手寫資料管理的 API。WISP Lite 比以前的 RichInk 控制項提供了高得多的保真體驗。

通過新的聲音 API 提供增強音頻體驗

Windows Mobile 6 包括一組能夠播放以前不支援的許多音效檔格式的新聲音 API 集。新的聲音 API 能夠播放 MP3、MID、WMA 和 WAV 檔案。為響應開發人員的要求,新的聲音 API 包括了接受裝置設定檔的選項,以使裝置設定為靜音或震動時不播放聲音。

新的聲音 API 包括用於檢索與常見事件(例如,已知的來電者電話鈴聲或漫遊電話鈴聲)關聯的音效檔的函數;還可以更改與這些事件關聯的音效檔。可按同步或非同步方式播放音效檔;並可以選擇讓 API 在非同步播放結束時通知應用程式。新的 API 還包括在 RAM、ROM 和安裝的儲存卡中搜尋音效檔位置的函數。

新的裝置狀態資訊

“狀態和通知代理”使應用程式能夠獲知裝置狀態變化,並以智能方式對這些狀態變化做出反應。除了 Windows Mobile 5.0 所支援的 100 多個“狀態和通知代理”狀態值外,Windows Mobile 6 額外又增加了幾個狀態值。Windows Mobile 6 提供了基於 網際網路通訊協定 (IP)語音 (VoIP) 撥打電話的狀態資訊,包括電話號碼、電訊廠商名稱以及其他資訊。Windows Mobile 6 還添加了鎖定裝置的狀態資訊。現在提供了鍵盤鎖定狀態、鎖定裝置狀態和 SIM 鎖定狀態變化的狀態資訊。

返回頁首

開始構建 Windows Mobile 6 應用程式所需的內容

著手開發面向 Windows Mobile 6 的應用程式是件容易的事。事實上,您多半已經具備了開發所需的大部分條件。

要開發第一個 Windows Mobile 6 應用程式,需要安裝幾個軟體。本部分介紹您需要的軟體列表以及各軟體是必備軟體、建議安裝的軟體還是可選軟體。還包括對各軟體用途的簡短說明。

必備軟體 必備/可選 說明

Visual Studio 2005 Standard Edition、Professional Edition 或 Team System

必備

Visual Studio 2005 是用於建立 Windows Mobile 應用程式的開發環境。

Windows Mobile 6 Professional SDK 或 Windows Mobile 6 Standard SDK

必備

提供開發 Windows Mobile 6 應用程式所需的工具、標頭檔、模擬器映像和 Visual Studio 2005 項目類型。

ActiveSync 4.5 或更高版本 (XP) 或 Windows Mobile Device Center (Vista)

必備

提供插接 Windows Mobile 6 模擬器映像或裝置所需的串連性。

Visual Studio 2005 Service Pack 1

可選 (Windows XP)

必備 (Windows Vista)

納入小的修正並更新 Visual Studio 2005 中所有面向資料的對話方塊,以顯示 SQL Server Compact Edition 產品名稱。對於 Windows Vista 使用者,為使 Visual Studio 2005 能夠在 Windows Vista 上運行,必須安裝此服務封裝更新。

.NET Compact Framework 2.0 Service Pack 1

推薦

如果沒有此服務包,則每次部署應用程式時,Visual Studio 2005 都會將 .NET Compact Framework 2.0 部署到 Windows Mobile 6 裝置。還添加了對命令列調試的支援,並提供了新的公用程式來審查 .NET Compact Framework 2.0 運行時所提供的效能資料。

SQL Server 2005 Compact Edition Tools for Visual Studio 2005

可選

提供開發使用 SQL Server 2005 Compact Edition 的 Windows Mobile 6 應用程式所需的工具和程式集。安裝此工具前,需要先安裝 Visual Studio 2005 SP1。

返回頁首

充分利用現有技能

如果您曾經構建過 Windows 案頭電腦應用程式或伺服器應用程式,即使您以前從未構建過 Windows Mobile 應用程式,您也已經擁有了著手開發 Windows Mobile 6 應用程式所必備的技能。使得著手構建 Windows Mobile 6 應用程式變得如此容易的一個因素是 Visual Studio 2005。在 Visual Studio 2005 中建立 Windows Mobile 6 應用程式與構建案頭 Windows 表單應用程式非常類似。在開發 Windows Mobile 6 應用程式時,Visual Studio 2005 的行為和所提供的功能與在開發傳統型應用程式時是相同的。

託管應用程式開發

如果您是託管應用程式開發人員,您會發現 .NET Compact Framework 2.0 提供了與建立傳統型應用程式時使用的類相同的類,這些類是完整 .NET Framework 類的一個豐富子集。.NET Compact Framework 2.0 還提供了許多與構建傳統型應用程式時所使用的 Windows 表單控制項相同的控制項。這些控制項所提供的體驗是您開發傳統型應用程式時所熟悉的相同體驗。

本機應用程式開發

Windows Mobile 6 平台的核心 API 是 Win32,儘管它是一個子集,但與案頭電腦上的 Win32 是相同的。與此類似,Active Template Library (ATL) 和 Microsoft 基礎類 (MFC) 都可用,二者都是其案頭電腦對應項的豐富子集。您還會發現,為傳統型應用程式編寫的許多 C\C++ 代碼與 Windows Mobile 6 相容。相容性如此高是因為 Visual Studio 2005 為傳統型應用程式和 Windows Mobile 裝置應用程式使用了相同的前端 C\C++ 編譯器。

資料庫應用程式開發

您還會發現,可以將開發面向 SQL Server 2000 和 SQL Server 2005 的資料庫應用程式的技能和經驗輕鬆地轉換為開發 SQL Server 2005 Compact Edition 應用程式的技能和經驗。SQL Server Compact Edition SQL 文法與 SQL Server 2005 完全相容。類似地,面向 SQL Server Compact Edition 的 ADO.NET 和 OLEDB 編程介面也與對應的面向 SQL Server 2005 的編程介面一致。甚至建立和管理 SQL Server Compact Edition 資料庫的方式也讓人覺得熟悉,因為建立和管理 SQL Server Compact Edition 資料庫時所使用的 SQL Server Management Studio 工具與建立和管理 SQL Server 2005 資料庫時所使用的 SQL Server Management Studio 工具是相同的。

返回頁首

指導

Microsoft 提供了許多資源,以為您提供在 Windows Mobile 6 平台上構建優質應用程式所需的指導。除產品文檔外,還可以在許多位置找到有關 Windows Mobile 應用程式開發以及在 Windows Mobile 平台上成功開發的最佳實務的資訊。

MSDN 上的 Windows Mobile 頁面多半是最好的起步位置。它提供了有關 Windows Mobile 開發的最新資訊。MSDN 上的 Windows Mobile 頁面還包括指向其他資源(例如白皮書、有協助的部落格和網路廣播)的指標。

Microsoft 模式和實施方案小組在移動用戶端軟體工廠中為 Windows Mobile 開發人員提供了出色的指導。移動用戶端軟體工廠是一個綜合性的面向 Windows Mobile 開發人員的最佳實務、樣本、原始碼和工具集。所論述的主題包括處理裝置外觀造型差異、離線資料管理、資料同步和管理大規模應用程式。

Windows Mobile 是 MSDN Channel 9 網站上的一個社區支援的項目。Windows Mobile Wiki 是從其他開發人員的知識和經驗中獲益的極佳途徑。您會發現該 Wiki 致力於解決許多最常見的問題。

Windows Mobile 新聞群組是一個社區支援的資源,可在其中提出有關 Windows Mobile 開發的問題,並讓業界同行(包括許多 Windows Mobile Microsoft Valued Professionals (MVP))回答這些問題。

Windows Mobile 調整您的應用程式頁面提供了與開發能夠在全系列 Windows Mobile 裝置上工作的應用程式有關的問題的最新資訊。您會發現專門針對這些問題的新聞、公告、網路廣播的指標和白皮書的指標。

返回頁首

結束語

Windows Mobile 6 提供了開發人員開發和部署功能強大的移動行業應用程式所需的工具和功能。在所有 Windows Mobile 6 裝置的 ROM 中加入 .NET Compact Framework 2.0 SP1 和 SQL Server 2005 Compact Edition 提供了一個功能強大的應用程式平台,它也使應用程式部署得到了簡化。Device Emulator 2.0 和 Windows Mobile 6 SDK 附帶的其他工具通過提供能夠在多種 Windows Mobile 裝置特徵和外觀造型上更輕鬆地測試應用程式的能力,簡化了能夠在許多不同裝置上啟動並執行應用程式的開發過程。Windows Mobile 6 SDK 中包括的 100 多個樣本、模式和實施方案移動用戶端軟體工廠以及移動行業 Solution Accelerator 工具包的組合都是為了提供立即啟動行業應用程式開發所需的指導。

無論您是經驗豐富的 Windows Mobile 開發人員還是正準備開發第一個 Windows Mobile 項目,您都會發現 Windows Mobile 6 是可用於行業應用程式開發的最佳 Windows Mobile 平台。

另請參閱

其他資源

Windows Mobile Developer Center:安全、部署和管理

Mobile2Market 常見問題

移動用戶端軟體工廠

移動行業 Solution Accelerator 工具包

Windows Mobile 調整您的應用程式頁面

MSDN Windows Mobile 頁面

Windows Mobile 開發人員新聞群組

2007 Microsoft Corporation 著作權。著作權所有,並保留一切權利。使用規定。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.