天天看點

開發 Windows Mobile 應用程式入門知識

适用于:

Windows Mobile™ 2003 Second Edition software for Pocket PC

Windows Mobile™ 2003 Second Edition software for Smartphones

Windows Mobile™ 2003 software for Pocket PC

Windows Mobile™ 2003 software for Smartphones

Windows Mobile™ 2002 software for Pocket PC

Windows Mobile™ 2002 software for Smartphones

Microsoft® eMbedded Visual Basic®

Microsoft® eMbedded Visual C++®

Microsoft® .NET Compact Framework

Microsoft® Visual Studio® .NET

摘要:本文為以 Pocket PC 和 Smartphone 為目标或者考慮以其為目标的開發人員常常詢問的問題提供了答案。

常見問題

問:什麼是 Windows Mobile?

答:Windows Mobile 是 Microsoft 用于 Pocket PC 和 Smartphone 的軟體平台。Windows Mobile 将熟悉的 Windows 桌面擴充到了個人裝置中。

問:Pocket PC 和 Smartphone 之間有什麼不同?

答:考慮 Pocket PC 和 Smartphone 的主要使用特性方面。Smartphone 主要是在格式因素和使用兩方面作為一種電話裝置而設計的。它經過良好的微調,可以用于發出和接收呼叫,并且還可以作為消息處理裝置。Pocket PC 主要是作為一種小型個人計算機而設計的,對于檢視和管理資料與增強消息處理而言很不錯。某些 Pocket PC 裝置也具有電話功能。您應當盡量根據目标 Windows Mobile 裝置的使用特性來調整您的應用程式。

問:Pocket PC 和 Smartphone 有哪些不同的版本(例如 2002、2003)?

答:Windows Mobile 軟體的每個新版本都是在可供開發人員使用的豐富的現有開發平台上建構的,而同時保持了一緻的核心,這樣應用程式就可以面向各種裝置了。目前有三種通用的 Windows Mobile 軟體版本:

• Windows Mobile 2002 軟體:運作裝置的軟體有時稱為 Pocket PC 2002 和 Smartphone 2002。新的開發人員功能包括 MAPI 和連接配接管理器。

• Windows Mobile 2003 軟體:2003 軟體版本将 .NET Compact Framework 添加到基于 2003 的裝置 ROM。這使得開發人員能夠為基于 Windows Mobile 2003 的裝置編寫托管代碼應用程式。其他的新功能包括配置管理器、藍牙可程式設計性和 SMS 截獲支援。

• Windows Mobile 2003 Second Edition:Second Edition 版本使得裝置制造商能夠通過該版本的主要功能(例如,對 Pocket PC 的橫向、方形和高分辨率螢幕以及 Smartphone 的 QVGA 螢幕的支援)進行創新。其命名反映了開發平台的一緻性,這對于此版本也沒有改變,所有支援新螢幕方向和分辨率的 API 始終是平台的一部分。

問:我如何識别不同的軟體版本?

答:Pocket PC 和 Smartphone 在 Settings 中都有一個 About 面闆。Settings 可以從兩種裝置的 Start 菜單找到。

根據代碼,您可以使用 GetVersionEx 函數查詢最高和最低的 OS 版本以及軟體的确切内部版本号。

• Windows Mobile 2002– OS Version : 3.0

• Windows Mobile 2003– OS Version : 4.20

• Windows Mobile 2003 Second Edition– OS Version : 4.21

問:為了支援 Windows Mobile 2003 Second Edition 的增強功能(例如高分辨率或橫向螢幕),我應該在我的應用程式中做些什麼?

答:Windows Mobile 2003 Second Edition 提供了全新的螢幕方向和分辨率,包括針對 Pocket PC 的橫向、方形和 VGA 支援以及針對 Smartphone 的 QVGA 支援。這種版本不需要新的 SDK。

1.

閱讀Windows Mobile 2003 Second Edition Developer Resources 軟體包中白皮書上的最佳做法。

2.

測試您的應用程式,使用 Pocket PC 與 Smartphone 的 Windows Mobile 2003 Second Edition 模拟器。

3.

使應用程式螢幕方向和分辨率保持獨立,這樣您就可以使用一個代碼基以 Windows Mobile 平台上的全部硬體創新為目标了。

下載下傳新的 Windows Mobile Developer 資源包 ,其中包括新的和更新的代碼示例及白皮書。

Pocket PC 開發

問:什麼工具可用于 Pocket PC 2003 開發?

答:要建構 Pocket PC 2003 本機 C++ 應用程式,您需要 Microsoft® eMbedded Visual C++® 4.0、Microsoft® eMbedded Visual C++® 4.0 Service Pack 3,以及 Pocket PC 2003 軟體開發工具包。您可以下載下傳 eMbedded Visual C++ 工具和 Pocket PC 2003 SDK。Windows Mobile 2003 Second Edition 模拟器包使您可以在 Second Edition 裝置上測試您的應用程式。注意,Pocket PC 2003 SDK 不支援 Microsoft® eMbedded Visual Basic® 開發。要建構 Pocket PC 2003 托管代碼應用程式,您需要 Visual Studio .NET 2003 和 Pocket PC 2003 SDK。

要建構 Pocket PC 移動 Web 應用程式,可以使用 Visual Studio .NET 2003 中的 ASP.NET 移動控件。

問:Pocket PC 2002 應用程式可以在 Pocket PC 2003 裝置上工作嗎?

答:使用文檔化 API 且功能良好的 Pocket PC 2002 應用程式無需重新編譯即可在 Pocket PC 2003 裝置上運作。

問:為什麼 Pocket PC 2003 不再支援 eVB 開發?

答:在 Pocket PC 2003 裝置中我們将繼續支援 eVB 運作時作為一個可安裝的 RAM 元件,這樣舊的 eVB 應用程式就能夠在新的裝置上運作,但是離開 Visual Basic® .NET、Visual C#® .NET 和 Microsoft® .NET Compact Framework 更強大健壯的開發體驗,Pocket PC 2003 裝置的新 eVB 開發将不受支援。

根據客戶的回報,Pocket PC 2003 裝置将在 ROM 中包含 .NET Compact Framework。.NET Compact Framework 是完整的 .NET Framework 的一個子集,是專門為智能裝置設計的。它是一種比 Pocket PC 2000 和 Pocket PC 2002 裝置中提供的特定于 eVB 運作時的更加全面且與語言無關的應用程式引擎。

問:如何從 eVB 遷移到 Visual Basic .NET?

答:從 eVB 遷移到 Visual Basic .NET 并不容易,但遷移的好處遠遠超過了成本:

• 資料類型更豐富:eVB 隻有 16 位元組的 VARIANT;Visual Basic .NET 使用 .NET Framework 通用類型系統。

• 執行更快:eVB 需要解釋;Visual Basic .NET 在執行前 JIT(實時)編譯為本機代碼

• 錯誤處理更完善:eVB 僅支援“On Error”;Visual Basic .NET 支援結構化異常處理

• 支援結構:eVB 不支援;Visual Basic .NET 支援命名空間、類和結構

• 面向對象:eVB 是過程性的;Visual Basic .NET 支援完全的 OOP(面向對象程式設計)

• 一流公民:eVB 總是想迎頭趕上 MFC;Visual Basic .NET 是核心 .NET

• 本機 XML 支援:eVB 不支援;Visual Basic .NET 支援本機 XML 和 XML Web 服務

• 資料模型更完善:ADO.NET 遠遠超過了 ADOCE;它仍是最好的資料模型

• 執行更安全、更可靠:eVB 是一種腳本語言;Visual Basic .NET 為托管代碼

• 還有許許多多!

同時,還有各種各樣的資源(從移植實驗到技術文章)可以幫助開發人員進行這種過渡。一個例子就是一篇概述如何從 eVB 遷移到 Visual Basic .NET 及其優點的技術文章: Moving from eMbedded Visual Basic to Visual Basic .NET。

問:我使用什麼開發工具來編寫基于 .NET Compact Framework 的 Pocket PC 應用程式?

答:Microsoft® Visual Studio® .NET 2003 允許 Visual Basic .NET 或 C# 程式設計人員建立 Pocket PC 2000、Pocket PC 2002 和 Pocket PC 2003 裝置的托管代碼應用程式(即那些以 .NET 公共語言運作庫為目标的應用程式)。要開發 Pocket PC 2000 和 Pocket PC 2002 裝置的托管代碼應用程式,您可以使用即裝即用的 Visual Studio .NET 2003。在開發過程中,Visual Studio .NET 2003 将會自動地将 .NET Compact Framework 安裝到這些裝置的 RAM 中。.NET Compact Framework 已經在所有 Pocket PC 2003 裝置的 ROM 中,而且 Visual Studio .NET 2003 通過 Pocket PC 2003 SDK 支援它。

問:有什麼資源可以用于進行 Windows Mobile 2003 Second Edition 開發?

下載下傳新的 Windows Mobile Developer 資源包 ,其中包括白皮書以及新的和更新的代碼示例。該版本不需要全新的 SDK。

可以用新的模拟器軟體包測試您的應用程式。

eMbedded Visual C++ 4.0 開發人員應當下載下傳 eMbedded Visual C++ 4.0 Service Pack 3。

Smartphone 開發

問:什麼工具可用于 Smartphone 2002 開發?

答:要開始開發 Microsoft Smartphone 2002 應用程式,您需要 eMbedded Visual C++ 3.0 和 Smartphone 2002 SDK。兩者都可以在 Windows Mobile Developer 獲得。

問:何時可以将 .NET Compact Framework 用于 Smartphone 2002?

答:.NET Compact Framework 的第一個版本重點為成功的 Pocket PC 類别裝置提供智能裝置程式設計支援。将 .NET Compact Framework 添加到 Smartphone 的 Smartphone 2003 版本中。沒有釋出用于 Smartphone 2002 的 .NET Compact Framework 版本的計劃。

問:MFC 或 ATL 可用于 Smartphone 2002 開發嗎?

答:不可以,Smartphone 2002 不支援 MFC 與 ATL 開發。

問:可以使用 eMbedded Visual Basic 3.0 來建構 Smartphone 2002 應用程式嗎?

答:不可以,不支援以 Smartphone 2002 為目标的 eVB 開發。

問:什麼工具可用于進行 Microsoft Smartphone 2003 程式設計?

答:對于 Smartphone 2003 版本,有兩種開發選擇,或者通過帶有 Service Pack 3 的 eMbedded Visual C++ 4.0 開發本機代碼,或者通過 Visual Studio .NET 2003 開發托管代碼。兩種情況都需要下載下傳 Smartphone 2003 SDK。Windows Mobile 2003 Second Edition 模拟器軟體包使您可以在 Second Edition 裝置上測試應用程式。

eMbedded Visual C++ 4.0 和 Smartphone 2003 SDK 都可以在 Windows Mobile Developer 獲得。

問:在 Smartphone 2003 上可以使用 .NET Compact Framework 的哪一個版本?

答:Smartphone 2003 允許開發人員使用 .NET Compact Framework 1.0 Service Pack 1 進行編碼。.NET Compact Framework 可以放在 Smartphone 2003 的 ROM 中。.NET Compact Framework 1.0 Service Pack 2 放在 Smartphone 2003 Second Edition 的 ROM 中。

問:Smartphone 2002 應用程式可以在 Smartphone 2003 裝置上工作嗎?

答:使用文檔化 API 且功能良好的 Smartphone 2002 應用程式無需重新編譯即可在 Smartphone 2003 裝置上運作。

問:什麼是示例 Smartphone 2002 裝置和 Smartphone 2003 裝置?

答:原始的 Orange SPV 與 Orange SPV e100 運作 Windows Mobile 2002。Orange 和 AT&T 上的 MPX200 都是基于 Windows Mobile 2002 的 Smartphone。Orange SPV e200 運作 Windows Mobile 2003。

問:MFC 或 ATL 可用于 Smartphone 2003 開發嗎?

答:MFC 不可用于 Smartphone 2003。可以使用 ATL 4.0 進行 Smartphone 2003 開發。有關 ATL 4.0 的更多資訊,請參閱 SDK 文檔。

問:在何處我可以找到更多有關 Smartphone 應用程式安全模型的資訊?

答:為了幫助開發人員了解基于 Windows Mobile 的 Smartphone 應用程式安全模型,我們創作了一本白皮書。請參見 http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/smartphone_security.asp。

問:什麼是提示模式?

答:OEM 或營運商可以将提示模式包含在他們的 Smartphone 應用程式安全政策中,進而允許使用者來決定在安裝或運作時是否安裝或運作一個應用程式。

問:可以使用 eMbedded Visual Basic 3.0 來建構 Smartphone 2003 應用程式嗎?

答:不可以,不支援以 Smartphone 2003 為目标的 eVB 開發。如果您希望利用 Visual Basic 的開發技巧,可以考慮使用 Visual Basic .NET 并以 .NET Compact Framework 為目标。

問:有什麼資源可以用于進行 Windows Mobile 2003 Second Edition 開發?

下載下傳新的 Windows Mobile Developer 資源包 ,其中包括白皮書以及新的和更新的代碼示例。

可以使用新的模拟器軟體包來測試您的應用程式。

eMbedded Visual C++ 4.0 開發人員應當下載下傳用于 eMbedded Visual C++ 4.0 的 Service Pack 3。

移動開發工具

問:什麼是 Microsoft eMbedded Visual Tools 3.0?

答:eMbedded Visual Tools 3.0 是一種內建開發環境 (IDE),移動開發人員用來為基于 Microsoft Windows CE 作業系統的 32 位裝置編寫軟體應用程式。包括完整版的 Microsoft eMbedded Visual C++ 3.0 語言、Microsoft eMbedded Visual Basic 3.0 語言、特定于平台的 SDK、遠端工具和文檔。

問:eMbedded Visual Tools 3.0 支援什麼裝置平台?

答:eMbedded Visual Tools 3.0 - 2002 Edition 附帶于 Pocket PC 2000、Pocket PC 2002 和 Smartphone 2002 的 SDK,并支援開發自定義的 Windows CE 3.0 裝置。

注:Pocket PC 2002 SDK 可以與 eMbedded Visual Basic 3.0 和 eMbedded Visual C++ 3.0 一起使用,但是 Smartphone 2002 SDK 卻隻受 eMbedded Visual C++ 3.0 支援。

問:什麼是 eMbedded Visual C++ 4.0?

答:eMbedded Visual C++ 4.0 是一種強大的開發工具,在為下一代基于 Windows CE 的裝置(包括 Pocket PC 2003 和 Smartphone 2003)建構本機代碼應用程式時可以為企業提供相當大的好處。這種獨立的內建開發環境 (IDE) 帶來了新水準的 Windows CE 開發效率,但卻沒有犧牲靈活性、性能或控制。要使用 eMbedded Visual C++ 工具建構 Pocket PC 2003 與 Smartphone 2003 應用程式,您還需要 eMbedded Visual C++ 4.0 Service Pack 3 和 Pocket PC 2003 以及 Smartphone 2003 SDK。下載下傳 eMbedded Visual C++ 4.0 工具。

問:我可以使用 eMbedded Visual C++ 4.0 開發 Pocket PC 或 Smartphone 應用程式嗎?

答:可以使用帶有 Service Pack 2 的 eMbedded Visual C++ 4.0 來開發包括 Windows Mobile 2003 Second Edition 在内的 Pocket PC 2003 與 Smartphone 2003 應用程式。也可以用它來開發 Pocket PC 2002 或 Smartphone 2002 應用程式。

問:我可以使用 Windows CE Standard SDK 開發 Pocket PC 或 Smartphone 應用程式嗎?

答:Windows CE SDK 提供了一個通用的功能子集,使得編寫的應用程式能夠符合 Standard SDK,以便運作在基于自定義顯示的 Windows CE .NET 平台上。為了建構 Pocket PC 和 Smartphone 智能裝置應用程式來利用這些平台提供的豐富的裝置功能集,需要使用特定于裝置的 SDK。

問:eMbedded Visual Tools 3.0 和 Visual Studio .NET 之間有什麼不同?

答:eMbedded Visual Tools 3.0 是一種專門針對移動與嵌入式技術開發人員的獨立開發環境。對于 Pocket PC 和 Smartphone,可以利用 eMbedded Visual Tools 和适當的平台 SDK 來建構豐富的“本機代碼”用戶端應用程式。Visual Studio .NET 是 Microsoft 的最流行桌面開發工具的最新版本。可以使用 Visual Studio .NET 2003 來建構基于 .NET Compact Framework 的 Pocket PC 智能用戶端應用程式。同時,還可以使用 Visual Studio .NET 和 ASP.NET 移動控件建構以各種裝置(包括 Pocket PC 和 Smartphone 類别的裝置)為目标的基于浏覽器的應用程式。

問:為什麼沒有将 eMbedded Visual C++ 內建到 Visual Studio .NET 中?

答:根據客戶的回報,我們最初的工作主要集中于使 Visual Basic .NET 開發人員能夠更輕松地對裝置進行程式設計。但是,利用本機代碼 (C++) 建立裝置應用程式的功能将會內建到 Visual Studio 的下一個版本中。

問:什麼是 .NET Compact Framework?

答:.NET Compact Framework 是 .NET Framework 的子集,設計為能運作在資源受限的裝置上,以便為托管代碼和 XML Web 服務提供支援。.NET Compact Framework 大大降低了編寫運作在諸如 Pocket PC 裝置上的應用程式和服務的開發成本。由于 .NET Compact Framework 是開發人員用來編寫桌面和伺服器應用程式的 .NET Framework 的一個子集,是以他們已經具備了編寫 Pocket PC 和 Smartphone 2003 裝置應用程式所必需的全部技巧。

問:使用 .NET Compact Framework 的主要好處是什麼?

答:目前編寫裝置應用程式的一個最大障礙在于,大多數裝置都要求開發人員了解不同的 API 和使用不同的程式設計工具(與用于桌面應用程式相比)。由于 .NET Compact Framework 使用的 .NET Framework 程式設計模型和 Visual Studio .NET 開發工具與開發人員已經在桌面和伺服器上使用的相同,是以它可以大大降低開發裝置應用程式的成本,并提高開發人員的工作效率。而這些好處又能夠使企業以新的方式使用智能裝置,進而改進他們的業務。.NET Compact Framework 也是唯一帶有 XML Web 服務本機支援的移動開發平台。

問:什麼裝置可以運作 .NET Compact Framework?

答:.NET Compact Framework 1.0 可以用作 Pocket PC 2000 和 Pocket PC 2002 裝置(包括 Phone Edition)的 RAM 安裝,并且可以放在 Pocket PC 2003 的 ROM 中。Smartphone 2003 裝置包含 .NET Compact Framework 1.0 Service Pack 1。所有的 Windows Mobile 2003 Second Edition 裝置均包含 .NET Compact Framework 1.0 Service Pack 2。

問:何時可以使用 .NET Compact Framework?

答:.NET Compact Framework 的 1.0 版可以作為 Visual Studio .NET 2003 版本的一部分使用。有關更多資訊,請參閱 Device Development。

問:.NET Compact Framework 可以運作所有的 .NET 語言嗎?

答:最初,.NET Compact Framework 可以運作 Visual C# 和 Visual Basic。隻要其他 .NET 語言符合 .NET Compact Framework 支援的公共語言運作庫子集,它們就可以運作。

問:.NET Compact Framework 應用程式和 eMbedded Visual C++ 應用程式的執行情況一樣嗎?

答:在大多數情況下,用 eMbedded Visual C++ 編寫的應用程式的運作速度比用 Visual Basic .NET 或 Visual C# .NET 編寫的應用程式快。但是,對于應用程式計算密集的部分,開發人員将會看到他們的 Visual Basic .NET 應用程式比他們的 eMbedded Visual Basic 應用程式有實質性的改善。

問:.NET Compact Framework 與 ASP.NET 移動控件之間有什麼不同?

答:對裝置進行程式設計有兩種不同的方法。一種方法是将應用程式放置在智能裝置上。另一種方法是将代碼放置在伺服器上,并通過浏覽器呈現使用者界面。.NET Compact Framework 支援前者,而 ASP.NET 移動控件(以前稱為 Microsoft Mobile Internet 工具包)則支援後者。

使用裝置上的代碼建構移動應用程式使應用程式在沒有 Internet 連接配接的情況下可以繼續工作。直接在裝置上運作的應用程式還支援更豐富的使用者界面,以及與作業系統上的可用資産(例如多媒體和其他的應用程式)進行內建的可能性。可以使用 .NET Compact Framework 将高效模型用于建構智能裝置應用程式。

建構代碼位于伺服器的移動應用程式也有其優點。在必須使用 Internet 支援的各種移動裝置時,這種體系結構非常有用。這些應用程式也不受資源的限制,因為它們作為桌面 Web 應用程式運作在相同的伺服器上。在 Visual Studio .NET 中使用 ASP.NET 移動控件可以完成這些應用程式的編寫。

技術與市場支援

問:我如何獲得技術支援?

答:技術支援有許多選擇,從免費的新聞討論區到付費的專門支援。有關這些選擇的詳細資訊,請參閱 Windows Mobile Support。

問:什麼是 Mobile2Market 程式?

答: Microsoft Mobile2Market 是一個綜合程式,設計為能使開發人員和獨立軟體供應商通過移動營運商關系增加收入,同時擴充客戶範圍并減少進入市場的時間。Mobile2Market 過程由包括應用程式徽标認證的各個步驟組成,并且包括在 Microsoft 應用程式目錄中。通路 www.microsoft.com/windowsmobile/mobile2market(52rd.com) 以獲得更多資訊。

問:應用程式徽标認證和應用程式簽名之間有什麼不同?

答:應用程式徽标認證是設計和建構應用程式以便遵守一組最佳做法設計指導原則的過程。通過讓獨立軟體供應商 (ISV) 的應用程式獲得徽标認證,他們可以使其應用程式在市場上顯得與衆不同,進而大大受益,并確定最終使用者的滿意度。要檢視 Pocket PC 2002 和 Smartphone 2002 的具體徽标認證指導原則,請參閱 Windows Mobile Participate Now。

應用程式簽名适用于 Smartphone 2002,而且指的是一種裝置安全概念。具體地說,應用程式簽名指的是對應用程式進行數字簽名(即驗證和身份驗證)的過程,這樣就可以将其部署到實際的 Smartphone 2002 裝置上并加以運作。進行應用程式簽名的要求是由移動營運商及其提供的具體 Smartphone 裝置設定的。

Microsoft Mobile2Market 程式提供了一種架構,可幫助開發人員以一種有效的方式将他們的應用程式推向市場,并描述了應用程式簽名、徽标認證和銷售的過程。有關詳細資訊,請參閱 Windows Mobile Participate Now。

問:所有的 Smartphone 應用程式在實際部署到裝置之前都需要經過徽标認證嗎?

答:不是,應用程式徽标認證對于開發 Pocket PC 或者 Smartphone 上的應用程式而言不是必需的,然而,獨立軟體供應商 (ISV) 可以通過這個過程使其應用程式在市場上顯得與衆不同,進而大大受益,并確定最終使用者的滿意度。獲得徽标認證的另一個好處是可以包含在 Microsoft 應用程式目錄中,它使得 ISV 可以獲得廣泛的客戶。要檢視 Pocket PC 2002 與 Smartphone 2002 的具體徽标認證指導員則,請參閱 Windows Mobile Participate Now。

問:所有的 Smartphone 應用程式在可以實際部署到裝置之前都需要進行數字簽名嗎?

答:不必。應用程式簽名的要求是由移動營運商及其提供的具體 Smartphone 裝置設定的。Microsoft Mobile2Market 程式提供了一種架構來幫助開發人員以一種有效的方式将他們的應用程式推向市場,并描述了應用程式簽名、徽标認證和銷售的過程。有關詳細資訊,請參閱 Windows Mobile Participate Now。