偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

Windows Phone開發(fā)工具的社區(qū)預(yù)覽版(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上的應(yīng)用必須用Silverlight來寫。

Silverlight最大的優(yōu)勢在于與Expression Blend的無縫整合,可以快速設(shè)計出非常漂亮的用戶界面,將程序員從繁瑣的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”。

VS 2010 for Windows Phone

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

VS 2010 for Windows Phone

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

VS 2010 for Windows Phone

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

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

  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作為目標(biāo)設(shè)備。直接按F5,Windows Phone Emulator會被啟動。

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

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

我還沒有仔細(xì)看Windows Phone Emulator的實現(xiàn)機制,不過從啟動速度來看,絕對不是把整個Windows Phone放在模擬器里執(zhí)行了。原來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鍵,會將應(yīng)用程序的Debugger斷掉,不知道程序是否退出了。點中間的Win Button,會回到主界面。

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

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

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

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

#p#

XNA 4.0

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

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

Silverlight for Windows Phone是典型的事件驅(qū)動型應(yīng)用程序。而XNA是由時間驅(qū)動的應(yīng)用程序,這也是游戲開發(fā)技術(shù)的典型特點。每隔固定時間,系統(tǒng)會觸發(fā)Update事件,使程序得以更新。

不那么多廢話了,創(chuàng)建個XNA 4.0的新工程吧!

創(chuàng)建個XNA 4.0的新工程

選擇Windows Phone Game就好了。IDE環(huán)境下沒有界面編輯器,需要程序員通過代碼來實現(xiàn)UI。XNA程序的結(jié)構(gòu)非常簡單,程序員只需要實現(xiàn)幾個簡單的方法,就可以實現(xiàn)一個簡單的XNA程序了。這些方法包括Initialize初始化方法、LoadContent加載文件、Update更新內(nèi)容和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方法負(fù)責(zé)更新元素的位置,進行碰撞檢測。如果后退鍵被按下,則退出程序。  
  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開發(fā)工具不是完美無缺的,比如Visual Studio啟動調(diào)試程序的時間比較長,希望這是模擬器的問題,在Windows Phone設(shè)備上不是這樣。

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

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

#p#

視頻: Windows Phone 7開發(fā)初體驗

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

【編輯推薦】

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

2010-04-21 17:07:54

Windows Pho

2012-05-15 14:28:58

XP安裝WP7開發(fā)環(huán)境

2010-03-16 09:41:57

Windows Pho

2010-07-21 09:11:57

Windows PhoWindows PhoWindows Pho

2010-11-24 16:36:02

Windows PhoUI設(shè)計Windows Pho

2010-07-01 10:15:27

UML開發(fā)工具

2010-05-23 10:29:29

Widget開發(fā)

2010-05-28 13:38:29

Linux開發(fā)工具

2010-09-17 09:34:29

開發(fā)工具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

2012-08-01 14:12:43

Windows Ser

2013-07-19 15:05:04

2023-07-07 07:29:53

Kubernetes容器

2010-10-11 14:42:49

Windows Pho

2010-08-01 16:11:53

Android

2012-05-23 15:11:56

Windows Pho

2013-07-30 12:37:56

Windows PhoWindows Pho
點贊
收藏

51CTO技術(shù)棧公眾號