成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows Phone開發工具初體驗

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

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

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

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

接下來,我們就看看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最大的優勢在于與Expression Blend的無縫整合,可以快速設計出非常漂亮的用戶界面,將程序員從繁瑣的UI開發中解放出來。而且Silverlight for Windows Phone不再是Silverlight的子集,而是支持Silverlight的全部功能。這樣的好處是,已有的Silverlight程序很容易移植到Windows Phone手機上。

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

VS 2010 for Windows Phone

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

VS 2010 for Windows Phone

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

VS 2010 for Windows Phone

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

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

  1. private void button1_Click(object sender, RoutedEventArgs e)  
  2.         {  
  3.             textBlockListTitle.Text = textBox1.Text;  
  4.    
  5.             if (Convert.ToBoolean(checkBox1.IsChecked))  
  6.             {  
  7.                 webBrowser1.Visibility = Visibility.Collapsed;  
  8.                 mediaElement1.Visibility = Visibility.Visible;  
  9.                 // play Video  
  10.                 mediaElement1.Source = new Uri("Wildlife.wmv", UriKind.Relative);  
  11.                 mediaElement1.Position = TimeSpan.FromMilliseconds(0);  
  12.                 mediaElement1.Play();  
  13.             }  
  14.             else 
  15.             {  
  16.                 mediaElement1.Visibility = Visibility.Collapsed;  
  17.                 webBrowser1.Visibility = Visibility.Visible;  
  18.    
  19.                 // Browser  
  20.                 webBrowser1.Navigate(new Uri(textBox1.Text, UriKind.Absolute));  
  21.             }  
  22.         } 

VS 2010 for Windows Phone

代碼編輯完成后,選擇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的實現機制,不過從啟動速度來看,絕對不是把整個Windows Phone放在模擬器里執行了。原來Windows Device Emulator那個基于三星2410的小身板估計也跑不起來。反正也是Managed Code,估計又是JIT編譯那套?;秀遍g,仿佛回到了Pocket PC 2002的年代。

Windows Phone Emulator Windows Phone Emulator Windows Phone Emulator

#p#

Windows Phone新界面

既然把Windows Phone Emulator起來了,我們就順便參觀下Windows Phone的新界面吧。點左邊的Back鍵,會將應用程序的Debugger斷掉,不知道程序是否退出了。點中間的Win Button,會回到主界面。

不過主界面上只有IE一個圖標。Windows Phone模擬器中還沒有包括其他的系統功能,比如電話、電子郵件、搜索等。模擬器也沒有辦法模擬重力感應、Location定位服務。希望到Windows Phone開發工具正式發布時,這些系統功能都可以被支持。

Windows Phone模擬器 Windows Phone模擬器 Windows Phone模擬器

IE的用戶體驗非常好,一開始新手發蒙,沒找到地址欄,后邊就非常順利了。無論是頁面縮放時的平滑動畫,還是輸入時切換到適當大小的設計,都非常順手。特別是Multi-Tab的設計,感覺非常舒服。特意試了Google Map,顯示一切正常。智能手機時代,有一個好的瀏覽器,其實就成功了一半。

哦,還有一點,我在Windows Phone Emulator里沒有做任何配置,就可以上網了。

#p#

XNA 4.0

在移動開發界,XNA還不是一個響亮的名字,但是在游戲開發界,Xbox 360上的XNA則是泰山北斗級的開發技術。XNA不僅僅是一個.NET的游戲開發平臺,還包括了很多支持Xbox Live服務的功能,比如,Avatars技術支持在游戲中顯示用戶設計的形象。希望這項技術能夠和同名電影一樣,改變移動游戲開發的歷史。

Windows Phone支持的是XNA 4.0,與Zune HD上的XNA 3.1有啥區別?支持3D游戲!目前我們看到的這個XNA 4.0預覽版只支持Windows Phone開發,不支持Windows和Xbox 360的游戲開發。

Silverlight for Windows Phone是典型的事件驅動型應用程序。而XNA是由時間驅動的應用程序,這也是游戲開發技術的典型特點。每隔固定時間,系統會觸發Update事件,使程序得以更新。

不那么多廢話了,創建個XNA 4.0的新工程吧!

創建個XNA 4.0的新工程

選擇Windows Phone Game就好了。IDE環境下沒有界面編輯器,需要程序員通過代碼來實現UI。XNA程序的結構非常簡單,程序員只需要實現幾個簡單的方法,就可以實現一個簡單的XNA程序了。這些方法包括Initialize初始化方法、LoadContent加載文件、Update更新內容和Draw繪制等方法。下面是示例代碼片段:

  1. protected override void LoadContent()  
  2.         {  
  3.             // Create a new SpriteBatch, which can be used to draw textures.  
  4.             spriteBatch = new SpriteBatch(GraphicsDevice);  
  5.             texture1 = Content.Load<Texture2D>("winphone");  
  6.             texture2 = Content.Load<Texture2D>("winphone");  
  7.    
  8.             soundEffect = Content.Load<SoundEffect>("Windows Ding");  
  9.    
  10.             spritePosition1.X = 0;  
  11.             spritePosition1.Y = 0;  
  12.    
  13.             spritePosition2.X = graphics.GraphicsDevice.Viewport.Width - texture1.Width;  
  14.             spritePosition2.Y = graphics.GraphicsDevice.Viewport.Height - texture1.Height;  
  15.    
  16.             sprite1Height = texture1.Bounds.Height;  
  17.             sprite1Width = texture1.Bounds.Width;  
  18.    
  19.             sprite2Height = texture2.Bounds.Height;  
  20.             sprite2Width = texture2.Bounds.Width;  
  21.    
  22.         }  
  23. LoadContent方法中使用Content.Load方法來加載資源文件,這些文件也是作為資源被加載到XNA程序中的。  
  24.  
  25.         protected override void Update(GameTime gameTime)  
  26.         {  
  27.             // Allows the game to exit  
  28.             if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)  
  29.                 this.Exit();  
  30.    
  31.             // Move the sprite around.  
  32.             UpdateSprite(gameTime, ref spritePosition1, ref spriteSpeed1);  
  33.             UpdateSprite(gameTime, ref spritePosition2, ref spriteSpeed2);  
  34.             CheckForCollision();  
  35.    
  36.             base.Update(gameTime);  
  37.         }  
  38. Update方法負責更新元素的位置,進行碰撞檢測。如果后退鍵被按下,則退出程序。  
  39.  
  40.         protected override void Draw(GameTime gameTime)  
  41.         {  
  42.             GraphicsDevice.Clear(Color.CornflowerBlue);  
  43.    
  44.             // TODO: Add your drawing code here  
  45.             // Draw the sprite.  
  46.             spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);  
  47.             spriteBatch.Draw(texture1, spritePosition1, Color.White);  
  48.             spriteBatch.End();  
  49.    
  50.             spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.Opaque);  
  51.             spriteBatch.Draw(texture2, spritePosition2, Color.AliceBlue);  
  52.             spriteBatch.End();  
  53.    
  54.             base.Draw(gameTime);  
  55.         } 

Draw方法對更新后的元素進行繪制。

我們的第一個XNA程序會顯示兩張圖片,這兩張圖片會在屏幕中運行,運行到邊緣時,會反彈回來。

第一個XNA程序

寫在最后

Windows Phone開發工具不是完美無缺的,比如Visual Studio啟動調試程序的時間比較長,希望這是模擬器的問題,在Windows Phone設備上不是這樣。

寫完這篇文章,心中最多的還是感慨,我們不應該將Windows Phone視作Windows Mobile的升級了,這是一個全新的手機操作系統。Windows Phone的功能可能沒有Windows Mobile豐富,但是他贏得喝彩,靠的只有四個字——用戶體驗。

鳳凰涅磐,Windows Phone的路還很長,但是我們這些緊緊追隨的開發者們,要得不就是對未來的一絲憧憬嗎。

#p#

視頻: Windows Phone 7開發初體驗

原文鏈接:http://www.cnblogs.com/aawolf/archive/2010/08/28/1811438.html

【編輯推薦】

  1. WP7開發環境搭建(圖文教程)
  2. 在WP開發中如何使用MVVM Light框架
  3. 在WP7中使用Coding4Fun Button控件
  4. ToastPrompt在Windows Phone開發中的用法
  5. Windows XP環境下部署Windows Phone開發工具
責任編輯:王曉東 來源: 博客園
相關推薦

2010-04-21 17:07:54

Windows Pho

2012-05-15 14:28:58

XP安裝WP7開發環境

2010-11-24 16:36:02

Windows PhoUI設計Windows Pho

2010-03-16 09:41:57

Windows Pho

2010-07-21 09:11:57

Windows PhoWindows PhoWindows Pho

2010-07-01 10:15:27

UML開發工具

2010-05-23 10:29:29

Widget開發

2010-05-28 13:38:29

Linux開發工具

2010-09-17 09:34:29

開發工具Windows Pho

2009-06-23 10:06:03

2010-10-25 09:54:09

Windows Pho

2010-03-16 13:41:21

SilverlightMIX10

2011-09-15 15:03:10

2023-07-07 07:29:53

Kubernetes容器

2013-07-19 15:05:04

2012-08-01 14:12:43

Windows Ser

2010-10-11 14:42:49

Windows Pho

2012-05-23 15:11:56

Windows Pho

2010-08-01 16:11:53

Android

2013-07-30 12:37:56

Windows PhoWindows Pho
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品毛片无码 | 91久久精品日日躁夜夜躁国产 | 亚洲视频在线一区 | 中文字幕在线一区二区三区 | 国产免费又黄又爽又刺激蜜月al | 欧美高清hd| av资源在线看 | 国产精品一区久久久 | 国产精品欧美一区二区三区 | 欧美综合久久久 | 国产成人午夜高潮毛片 | 一区二区三区四区视频 | 日韩在线一区二区三区 | 国产日韩欧美一区二区 | 一级一级毛片免费看 | 成年人在线观看视频 | 日韩av免费看 | 国产小视频在线 | 午夜激情视频在线 | 亚洲国产精品一区二区www | 欧美国产精品一区二区三区 | 色综合久 | 久久久久久久91 | 国产不卡在线观看 | 911影院 | 成人a免费| www.99热.com | 欧美日本一区二区 | 国产美女在线观看 | 人人做人人澡人人爽欧美 | 天天干在线播放 | 国产福利在线小视频 | 久久久久中文字幕 | 国产精品亚洲欧美日韩一区在线 | 国产成人jvid在线播放 | 久久精品国产精品青草 | 第一av | 99精品欧美一区二区三区综合在线 | 四季久久免费一区二区三区四区 | 精国产品一区二区三区 | 99re在线 |