標籤:blog http io ar os 使用 sp on 檔案
在移動和雲成為微軟的主題之後,Windows Phone 8.1 手機和Windows 8.1平板也漸漸成熟,吸引了越來越多的開發人員。為了讓開發人員們高效的開發一款跨手機和平板的應用,微軟順勢推出了Universal應用的概念。
今天我們想向大家分享怎樣用C#和XAML語言開始開發一個跨Windows 8.1和 Windows Phone 8.1 的 Universal 應用。
準備
首先硬體方面我們的電腦要支援Hyper-V功能或者有一部運行Windows Phone 8.1 作業系統的手機。
軟體則需要在電腦上安裝Windows 8.1 和 Visual Studio 2013 update 2 及以上的版本。免費的面向 Windows 的 Microsoft Visual Studio Express 2013 with Update 4 就可以,在http://www.visualstudio.com/zh-cn/downloads#d-express-windows-8 能夠找到。
啟動Visual Studio 2013,初次開機會需要註冊一個Microsoft帳號,有了的話直接登入就可以。
Hello Universal
現在我們就可以建立 Windows Universal App 了。
在start介面上點擊建立項目或者在功能表列上點擊檔案->建立->項目
選擇已安裝->Visual C#->市集應用->跨平台 app程式->空白應用程式
選擇儲存檔案夾並輸入項目名稱,比如“my Universal”
點擊確定。
好了,Visual Studio 已經自動為我們建立了Universal解決方案:
在方案總管中可以看到我們的Universal方案套件含3個項目,my Universal.Windows,my Universal.WindowsPhone,my Universal.Shared。
它們分別對應了Windows應用,Windows Phone應用,共用資源。
啟動
現在雖然我們還沒有寫一行代碼,但其實我們的應用已經可以運行了。
先來看看我們的Windows應用:
點擊debug按鈕
經過一段時間的編譯,我們的Windows應用就啟動了。當然沒有什麼內容,只有一個Title is Here。現在把滑鼠移到右上方,先關閉它。(這裡可能回到Visual Studio 後會看到還是在debug狀態,需要手動停止一下Debug。)
接下來看看我們的Windows Phone 應用。
點擊debug按鈕旁邊的向下小箭頭。
選擇啟動項目-> my universal.WindowsPhone(Windows Phone 8.1)
Debug按鈕發生了變化,文字變成了Device,如果你的電腦支援Hyper-V,那麼還會看到一系列windows模擬器(Emulator)。
先看看支援Hyper-V的情況。我們選擇一種模擬器,點擊debug按鈕。Visual Studio 會啟動對應的模擬器,在上面部署並啟動我們的Windows Phone應用。(啟動模擬器會比較慢,我們可以在結束debug時不關閉模擬器,而是在Visual Studio中點擊停止Debug按鈕 ,這樣模擬器就不會關閉)
當然目前我們的Windows Phone 也是沒什麼內容,同樣只有一行Title is Here。
下面看看如果我們的電腦不支援Hyper-V的情況:
通常我們日常使用的Windows Phone 8.1手機是不能馬上用於開發的,我們要把它註冊為開發人員手機。
我們需要把我們的Windows Phone 8.1 手機通過usb線串連到電腦上,解開鎖屏。
接著在開始介面開啟Windows Phone Developer Registration 8.1。
程式檢測到我們的Windows Phone 8.1 手機後點擊註冊,輸入我們的Microsoft帳號,就可以把它註冊為開發人員手機了。
這樣就可以在debug按鈕上選擇device,用手機而不是模擬器debug我們的Windows Phone 8.1 應用了。
Universal 是什麼
大家可能注意到我們的debug按鈕裡可以選擇的啟動項目只有my Universal.Windows,my Universal.WindowsPhone兩個,那麼my Universal.Shared這個項目是做什麼用的呢?
實際上這個項目是Universal應用的重點,我們可以在其中共用Windows應用和Windows Phone應用的代碼。
我們的應用既可以在Windows上又可以在Windows Phone上運行,它們的介面是有著很大區別的。但是背後的邏輯,運作方式卻幾乎一樣。在以往的開發方式中,我們可能要寫兩套後台代碼,分別維護它們。一邊發現了什麼問題,需要修改,還得檢查另一邊的代碼。但當我們建立了Universal 應用之後,這種情況就會大大減少。只要修改同一個.Share項目,就可以同時對Windows和Windows Phone應用產生作用。它們之間有所區別的地方,我們也可以用條件編譯來區分。
比如我們可以開啟項目my universal.Shared中的App.xaml.cs檔案:
可以看到編輯地區左上方的選項有.Windows和.Windows Phone,目前選擇的是.Windows。在代碼地區中,夾在#if WINDOWS_PHONE_APP…#endif 之間的代碼則是灰色的狀態。這段代碼就是Windows Phone專屬的。現在顯示灰色是由於我們在左上方選擇了.Windows項目,它是不起作用的。
整體看來,Universal應用就是通過.Share項目共用了不同平台的代碼,減少了跨平台的維護工作,讓我們能夠實現高效的開發。
小結
是不是非常方便?一次建立,2個應用。這就是Universal的魅力所在。接下來我們會一步一步向大家分享如何把這個簡單的應用擴充成為一個功能完善的cnblogs閱讀器。歡迎大家繼續關注。
部落格園用戶端(Universal App)開發隨筆 - Hello, Universal