作者:李寧編譯
介紹
本文的目的是引導SmartPhone編程的初學者進入SmartPhone世界,以及學會如何使用 C#編寫SmartPhone程式。本文首先介紹了什麼是SmartPhone,以及SmartPhone的一些特性和用於編程的API。為了更好地掌握 如何使用C#編寫SmartPhone程式,在本文還提供了一個使用C#編寫的簡單的SmartPhone程式的例子,讀者可以通過這個例子快速地掌握如 何使用C#為SmartPhone編寫程式。
近來,移動這個新興的領域正在受到許多移動裝置的使用者和一些世界級的公司的關注和追捧。現在移動裝置使用了先進的資訊訪問和擷取技術,使用者可以通過移動裝置訪問到世界的任何角落,因此,可以毫不誇張地說,先進的移動裝置將使人們如虎添翼。
就象任何其它技術的快速發展一樣,移動裝置也在迅猛地發展。可以肯定地說,移動裝置將創造一個新世界,無論是平民還是富翁,移動裝置都將成為他們的好幫手。也許在不遠的將來,它還會以其它的形式出現,到那時,移動裝置將成為你生活的一部分。
真是太棒了,開發人員除了可以做手頭的工作…事實上,他們完全可以進入一個另人激動、充滿了刺激的世界,在這個世界中,顛覆了傳統的案頭和Web開發。在這個世界中,有新的技術、新的挑戰、新的機會,當然,更重要的是,有新的掙錢方法…$Money$。
移動裝置的發展
移動裝置發展到今天已經變得豐富多彩,現在我們有各種各樣的移動裝置可以選擇,如手持功能,Pocket PC,PDA等等。現在移動裝置正在試圖利用手機已被全球的人們普遍使用的優勢迅猛發展。
今天的移動電話市場已經有多種多樣的型號可供選擇。目前,手機市場已經被使用Symbion作業系統的Nokia、索尼和三星等公司壟斷。
就象當年的Web瀏覽器市場一樣,Microsoft在移動世界中也是姍姍來遲。今天的Microsoft已經擁有了自己的用於移動裝置的操作,它就是Microsoft Windows Mobile2003,還有更為強大的WinCE4.2。那些使用Microsoft作業系統的手機正在蠶食市場份額,並且有越來越多的開發人員也轉向了Microsoft陣營。
按著Microsoft的一貫做法,Microsoft在推出相應的手機和作業系統後,在第一時間就為開發人員提供了相應的支援,包括可以使用現有的語 言為Microsoft的手機開發軟體。由於目前Microsoft主推.net framework,因此,使.net framework可以在手機上運行就變得非常必要。由於考慮到了手機的硬體環境,Microsoft推出了一個.net framework的精簡版,這就是Microsoft .NET Compact Framework,這個framework是PC機上的.net framework的一個子集。
特性
在Microsoft的SmartPhone上擁有豐富的軟體,使用者可以通過聲音、文字以及Internet(如GSM、GPRS、SMS、PPTP、藍芽等)進行相互連訊。
以下是Microsoft SmartPhone所安裝的軟體列表
Pocket 瀏覽器 |
這個瀏覽器比WAP瀏覽器強大得多,它完全可以取代手機中的IE5。這個瀏覽器可以支援HTML3.2、XML、XSL、cHTML、WAP1.2.1、WML指令碼、Active指令碼、ActiveX、SSL、JPEG、GIF等。 |
Pocket Outlook |
這個工具和PC機上的Outlook類似,它除了可以管理連絡人、寫日記、任務管理和記錄音頻,還可以發送和內送郵件。 |
MSN Messenger |
一個聊天用戶端,和PC機上的MSN Messenger類似。 |
Microsoft ActiveSync |
使用戶端和伺服器同步 |
Windows Media Player |
一個媒體播放器,可播放MP3、WMA和AVI。 |
Voice Notes |
一個錄音軟體。 |
Games |
一些小遊戲。 |
File Management Utilities |
檔案和任務管理,類似於windows的檔案管理工具。 |
Wireless Modem |
可以通過USB、IR和COM串連Internet。 |
MMS Client |
接收MMS資訊。 |
Camera |
一個視頻採集軟體,可以錄製和捕捉視頻。 |
SmartPhone的外觀
圖1是微軟建議的行動裝置的標準外觀和控制台。
在這個控制面版上有兩個Soft鍵、一個Home鍵、一個Back鍵和五個方向鍵,下面是十個數字鍵以及"*"和"#" 鍵。Microsoft強烈建議使用這個按鍵結構。在這些鍵中,所有的修飾鍵(如Soft和Home鍵等)是必須的。然而,這些裝置並不是由 Microsoft製造的,而是由大大小小的行動裝置生產商所製造,因此,這些裝置的外觀和結構可能和Microsoft所推薦的這個裝置有一些出入。
最近,Microsoft發布了Windows Mobile 2003的第二版,開發人員可以選擇以下的開發工具為Windows Mobile開發軟體,這些軟體有基於Win32的,也有基於Microsoft .NET Compact Framework的。
1、 Embedded VC++ 4.0
2、 Visual Studio .NET - C#, VB.NET
一個簡單的Hello World程式
現在讓我們進入主題,開發一個簡單的Hello World程式。編寫這個程式最先要做的就是下載可以運行在Visual Studio2003中的SmartPhone2003開發包。在安裝完這個開發包後,SmartPhone的開發環境和一個SmartPhone模擬器 已經被安裝到了你的機器上。
在安裝完SDK後,啟動Visual Studio,在工程模板中選擇Smart Device應用程式,給它起一個名字,然後點擊OK,現在,你將看到2的歡迎介面。
選擇SmartPhone和Windows Application後,點擊OK按鈕。現在,你將看到3所示的開發介面。
在右側的工具列上,你可以看到一個控制項面版,在這個面版上有一些我們熟悉的控制項,但這些控制項是停用,這是因為SmartPhone並不支援這些控制項。
現在,我們已經可以開發SmartPhone應用程式了。我們首先應該考慮到,通常手機只用一隻手操作,因此,應用程式的導航鍵應該容易操作。在手機上 的"Soft"鍵通常充當導航鍵。如果你仔細觀察Visual Studio,你就可以注意到Visual Studio已經為我們建立了一個預設的菜單控制項。Visual Studio建議我們使用這個MainMenu控制項,這個菜單最終將成為導航鍵來控制我們的SmartPhone應用程式。
現在,讓我們按圖4所示建立一個菜單結構:
雙擊"Say Hello"菜單可以寫執行代碼:
private void menuItem2_Click(object sender,System.EventArgs e) { MessageBox.Show("Hello Logu!"); } |
下面是 "Exit"菜單的代碼:
private void menuItem3_Click(object sender, System.EventArgs e) { this.Close(); } |
現在按F5運行程式,將會彈出一個5的對話方塊,這個彈出的對話方塊可以讓你選擇使用哪一個裝置運行這個程式,我們選擇"Smartphone 2003 Emulator(Virtual Radio)(Default)",然後點擊"Deploy"
現在模擬器已經啟動,介面6所示。我們的應用程式已經被安裝在模擬器上了,在上面出現了一個提示,並且左下角出現一個"OK"。
單擊"OK"運行我們的程式。
現在我們的.NET程式已經運行了。在應用程式被運行後,單擊"My Menu"中的"Say Hello",你將看到7所示的資訊框。現在,你還可以選擇SmartPhone裝置,並這個程式直接發布到這個裝置上。由於打包和發布並不屬於本文 的內容,因此,在這裡不再討論。
SmartPhone所支援的API
以下是SmartPhone所支援的API列表
· ActiveSync API
· Bluetooth(藍芽)API
· CE Messaging API
· Device Management(裝置管理) API
· Home Screen API
· Object Exchange (OBEX)
· Pocket Outlook Object Model (POOM)
· Speech Recognizer
o Telephony - TAPI
o Accessing the SIM card
o P/Invoke to native SIM Toolkit APIs
· RAPI - Remote API to connect to the desktops programmatically
· GAPI - To develop Mobile games(用於開發遊戲的API)
· Vibrate API
· Voice Recorder Controls (用於錄音的API)
原文:http://db.cinews.net/n/200610/26/n20061026_76356.shtml