新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Windows Phone開發(fā)工具初體驗

Windows Phone開發(fā)工具初體驗

作者: 時間:2016-10-10 來源:網(wǎng)絡 收藏

這是為《程序員》4月期寫的文章,是在《雙重驚喜—— Developer Tools初體驗》的基礎上增加了一些內(nèi)容,包括WebBrowser空間、MediaPlayer空間,還有一個非常簡單的XNA程序。希望對開發(fā)有興趣的朋友有一些幫助。

本文引用地址:http://2s4d.com/article/201610/306005.htm

在MIX 2010上火熱登場了。Windows Mobile開發(fā)者們壓抑許久的熱情終于爆發(fā)出來,對于Windows Phone的華麗轉(zhuǎn)身,開發(fā)者們褒貶不一,有人對Silverlight、 XNA等新技術充滿期待,有人對放棄以前版本兼容性、不支持C++開發(fā)滿腹怨言。

無論如何,Windows Phone為我們帶來了新的用戶體驗、新的,總比讓開發(fā)者守著Windows Mobile的老面孔,一起慢慢變老,要好吧?下面,就讓我們看看Windows Phone會為開發(fā)者們帶來哪些驚喜,呃,或者驚訝。

Windows Phone開發(fā)工具的社區(qū)預覽版(CTP)可以在MSDN上下載。其中包括Visual Studio 2010 Express for Windows Phone, Windows Phone模擬器, Silverlight for Windows Phone和XNA 4.0 Game Studio。目前,Windows Phone開發(fā)工具只能安裝在Windows 7和Vista SP2上,還需要顯卡支持DirectX 10。

打開VS 2010后,我的感覺喜憂參半,喜的是Windows Phone提供了兩種不同的開發(fā)平臺:Silverlight for Windows Phone和XNA 4.0,憂的是,以前Windows Mobile的C++和.NET Compact Framework都用不上了。所以,以前的Windows Mobile程序員也要經(jīng)歷一個痛苦的轉(zhuǎn)型過程。

接下來,我們就看看Windows Phone帶來的雙重驚喜吧!

Silverlight for Windows Phone

Silverlight for Windows Phone險些淪為一個笑話,Windows Mobile程序員在抱怨,Symbian上的Silverlight都出來了,Windows Mobile上的Silverlight在哪里?這次,Silverlight for Windows Phone來了,而且所有Windows Phone上的應用必須用Silverlight來寫。

Silverlight最大的優(yōu)勢在于與Expression Blend的無縫整合,可以快速設計出非常漂亮的用戶界面,將程序員從繁瑣的UI開發(fā)中解放出來。而且Silverlight for Windows Phone不再是Silverlight的子集,而是支持Silverlight的全部功能。這樣的好處是,已有的Silverlight程序很容易移植到Windows Phone手機上。

在程序菜單的XNA Game Studio 4.0下打開VS 2010,創(chuàng)建一個新工程,在Visual C#下找到三個模板,選擇”Windows Phone Application”。

不知道Phone List Application是啥,看起來Windows Phone的界面會以List為主了。點擊OK后,會直接進入IDE的主界面:

似曾相識,左邊是工具欄,可以拖拽控件到UI設計器上,與XAML界面對應。根據(jù)示例程序,我準備編寫一個瀏覽器和媒體播放器,首先是從Toolbox中將MediaElement和WebBrowser控件拖拽到UI設計器上。

為了播放多媒體文件,我們還要在Solution Explorer里將wmv文件添加到工程里。做法和Windows Mobile工程一致,選擇Content類型,wmv文件會和工程一起發(fā)布。

接下來就是編寫代碼了。MediaElement組件需要設置Source屬性,然后調(diào)用Play方法。而WebBrowser選擇Navigate方法來訪問指定網(wǎng)站。

private void button1_Click(object sender, RoutedEventArgs e)

{

textBlockListTitle.Text = textBox1.Text;

if (Convert.ToBoolean(checkBox1.IsChecked))

{

webBrowser1.Visibility = Visibility.Collapsed;

mediaElement1.Visibility = Visibility.Visible;

// play Video

mediaElement1.Source = new Uri(Wildlife.wmv, UriKind.Relative);

mediaElement1.Position = TimeSpan.FromMilliseconds(0);

mediaElement1.Play();

}

else

{

mediaElement1.Visibility = Visibility.Collapsed;

webBrowser1.Visibility = Visibility.Visible;

// Browser

webBrowser1.Navigate(new Uri(textBox1.Text, UriKind.Absolute));

}

}

代碼編輯完成后,選擇Windows Phone Emulator作為目標設備。直接按F5,Windows Phone Emulator會被啟動。

Silverlight for Windows Phone類庫中增加了很多Phone獨有的功能。Microsoft.Phone的命名空間下,包括Phone、電話本、電子郵件、Camera、Bing地圖、Marketplace、瀏覽器和搜索等功能。Microsoft.Device.Sensors中包括各種各樣的傳感器,其中包括重力感應。Silverlight中還包括了Location和Push Notification等獨有功能。

我的程序運行起來就是下面這個樣子。程序帶有強烈的Zune風格,不但有標題,而且還有明顯的Block List Title。另外就是輸入法,帶有明顯iPhone的痕跡,不過對電容屏的支持看來不是問題了。

我還沒有仔細看Windows Phone Emulator的實現(xiàn)機制,不過從啟動速度來看,絕對不是把整個Windows Phone放在模擬器里執(zhí)行了。原來Windows Device Emulator那個基于三星2410的小身板估計也跑不起來。反正也是Managed Code,估計又是JIT編譯那套?;秀遍g,仿佛回到了Pocket PC 2002的年代。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉