前陣子在 Channel 9 上了一篇 Windows App 的開發入門影片,再將片中的 slide 與 sample 記錄在此,供有興趣入門 Windows App 的 iOS、Android 開發者看看。
2015年8月27日 星期四
2015年8月26日 星期三
Universal Windows Platform (UWP) App 開發資源整理
Windows 10 推出後,不論是針對開機與運行速度或操作直覺性,的確獲得非常多好評,近期在社群上也看到一些公司開始招聘 UWP 應用程式開發人員的消息。
此外,也許還有不少未入門的開發者不清楚,所以特別提兩件事,第一,使用 Visual Studio Community 開發 UWP 是完全免費的。第二,建立 UWP 的開發者帳號上傳 App 只需要付一次性的 19 USD 費用,是目前所有平台中成本最低的。
底下整理了一些 Universal Windows Platform 的開發與設計資源讓有興趣入門的開發者們參考,如果希望看到繁體中文的內容,可以把 en-us 改為 zh-TW 即可。
此外,也許還有不少未入門的開發者不清楚,所以特別提兩件事,第一,使用 Visual Studio Community 開發 UWP 是完全免費的。第二,建立 UWP 的開發者帳號上傳 App 只需要付一次性的 19 USD 費用,是目前所有平台中成本最低的。
底下整理了一些 Universal Windows Platform 的開發與設計資源讓有興趣入門的開發者們參考,如果希望看到繁體中文的內容,可以把 en-us 改為 zh-TW 即可。
2014年12月3日 星期三
使用 MSBuild 編譯 Universal Apps 發生 error MSB3325, MSB3321
如果要在編譯工作中加入一些特別的行為,通常會透過 Visual Studio 加入專案建置前或建置後的工作,或是寫成 proj 檔案讓 MSBuild.exe 執行編譯工作再加上一些 Script,在使用 MSBuild 進行 Universal Apps 的 Release 編譯時,因為必須選擇 pfx 憑證,可能在編譯時期會出現以下錯誤訊息
2014年11月29日 星期六
Windows Store App Jenkins Error APPX0105、APPX0102、APPX0107
如果是比較窮的開發者,通常會使用 Jenkins 來做為 CI 的平台,前陣子在 Jenkins 上建立 Windows Store App 的建置工作時噴出三個錯誤訊息,很神奇的是,若使用 Cmd 操作 MSBuild.exe 編譯同一份 sln、proj 檔是正常的,一定要透過 Jenkins 啟動 MSBuild 才會碰到這個問題。
2014年10月14日 星期二
建立及更新 Live Tile 動態磚資訊
在上一篇筆記 基礎 Secondary Tiles 新增及操作 記錄了如何釘上基本的動態磚來做內容的入口時有提到,使用 NotificationsExtensions 可以比較方便的達到花樣更豐富的動態磚。
2014年10月8日 星期三
基礎 Secondary Tiles 新增及操作
動態磚 ( Live Tile ) 一直是從早期的 Metro Style 到現在 Windows 10 預覽版開放下載後,微軟很重視,且用來審核 App 品質的一項元件,在 App 安裝完成後會在開始畫面釘上應用程式的動態磚,這是應用程式的預設進入點,其他應用程式額外的動態磚,都叫作 Secondary Tile。
2014年9月26日 星期五
整合 Setting 與加入自定 Layout 的設定畫面
在 Windows 8 這個作業系統推出時,整合了搜尋、分享、設定三個入口到 Charms 上面,到了 Windows 8.1 時雖然 Search 的觀念有些調整,但 Setting 方面依然不變,且增加了方便開發者製作自定 Layout 設定頁的方法。
2014年9月22日 星期一
使用 NotificationsExtensions 建立 Toast Notification
現在應用程式的使用流程愈來愈傾向於盡量的少打擾使用者,Toast Notification 就是一種用來通知用戶事件發生又沒什麼干擾性的方法,建立 Toast Notification 的最基本方式是利用 XML 描述 Toast 的 Layout 並利用 ToastNotificationManager 來顯示,而 XML 的內容結構可以參考這裡:Tiles, toast, and badge schemas
2014年9月21日 星期日
利用 AudioEncodingProperties 產生 MediaStreamSource
曾經在 Silverlight for Windows Phone 上使用過 BackgroundAudioPlayer 的開發者大概會知道,這個播放器除了餵一般的 Uri 之外,若要播放串流就得實作該音檔格式的 MediaStreamSource 來供播放器讀取,而這個實作過程相當的辛苦,除了要讀音檔格式的 Spec 之外,背景播放的測試也是很耗時間的,幸好這個過程在撰寫 Store Apps 時不需再經歷一次。
2014年9月19日 星期五
Full View 與 Fill View 的 Layout 切換方法
在 Windows 8.1 上使用 Windows RT 開發的 App 時可以將畫面切為 Full 全螢幕、Fill 3/4 螢幕 與 Snap 320px 寬的尺寸,但在撰寫 Universal Apps 時會發現 Snap 的模式不見了,最窄也僅能讓 App 呈現寬 500px 的尺寸,在 Windows Store App 中移除了 Snap View 這種呈現方式,僅剩下三種,簡易的說明如下。
2014年9月17日 星期三
如何取得 Globalization 資訊與設定應用程式語系
大部份的狀況,我們會根據用戶作業系統的語系去選擇使用哪一套 Resource 供用戶瀏覽應用程式,像這篇文章提到的方式:共用 Resources 製作多語系應用程式。
但也有不少情況,我們提供用戶自行選擇應用程式的語系,舉例來說,我裝了英文版的 Windows 和英文版的 Visual Studio 再加上許多軟體,但像 Office 這種有很多不熟悉名詞的軟體我一定得用中文版才行,這篇記錄如何列出應用程式支援的語系讓用戶在開啟時自行選擇。
但也有不少情況,我們提供用戶自行選擇應用程式的語系,舉例來說,我裝了英文版的 Windows 和英文版的 Visual Studio 再加上許多軟體,但像 Office 這種有很多不熟悉名詞的軟體我一定得用中文版才行,這篇記錄如何列出應用程式支援的語系讓用戶在開啟時自行選擇。
2014年9月16日 星期二
Universal Apps 如何共用 Resources 製作多語系應用程式
選擇 Universal Apps 最迷人的地方就在於整合兩個 ( 未來是三個 ) 平台的資源,這裡記錄如何利用 Shared Project 達到 Windows 及 Windows Phone 專案共享 Localization 資源的方法。
2014年9月13日 星期六
Store Apps 的 MediaElement 注意事項
利用 MediaElement 播放音樂是在 Windows 所有框架中最簡單的方式,為了讓音樂可以不受到畫面切換而中斷,常常會將 MediaElement 放在 Application class 中或一些類似 Singleton 的物件中使用。
2014年9月11日 星期四
取得 WebView 畫面
在 Windows Runtime SDK 中有一個非常酷,名稱是 WebViewBrush 的畫刷,功能就如名稱一樣是將 WebView 中的內容 Render 到某處。
2014年9月9日 星期二
依解晰度選擇 Resource 與排版經驗
市面上愈來愈多筆記型電腦的螢幕採用高於 96 DPI 的規格,這代表著用戶雖然都是在 13 吋的機種下,卻顯示著長寬數量不同的 Pixel,這時如果兩種 DPI 下使用同樣的圖片來顯示,會導致在高 DPI 螢幕的環境下該圖被拉大至 140% 或 180% 甚至更高而產生模糊現像。
2014年8月31日 星期日
Store Apps 自訂 URI 與 File Association
Windows Phone 8.1 在前幾天終於推出開發者預覽版,雖然 8.0 的裝置全部都可以升級,但 8.1 與 8.0 仍然是差異不小且不相容的兩個框架,在建立 Windows Phone 8.1 專案時除了原先的 Siliverlight 之外,還可以選擇 Store Apps ( XAML App ) 專案,這個 SDK 就如它的名稱一樣,是與 Windows 8.1 的 Store Apps 最接近的,也因為架構不同,某些 API 的使用也和撰寫 Windows Phone 8.0 時有差異,這裡記錄 Store Apps 在 Windows Phone 及 Windows 上如何實現自訂 Protocol 及指定開啟特定的 File Type。
2014年8月30日 星期六
2014年8月26日 星期二
Store Apps 操作應用程式檔案
回顧 Windows Client 的檔案系統從自由度極高的檔案總管到應用程式獨立空間的 Isolated Storage,如今 Store Apps 整合了 Windows 與 Windows Phone 的檔案系統 API 為 Windows.Storage。
Windows.Storage 除了原有的 Local 檔案操作之外,還加了讀寫 Roming、Temporary 檔案的支援,另外還有 Uri 的概念讓開發者以同樣的邏輯操作檔案資源和專案內的資源。
Windows.Storage 除了原有的 Local 檔案操作之外,還加了讀寫 Roming、Temporary 檔案的支援,另外還有 Uri 的概念讓開發者以同樣的邏輯操作檔案資源和專案內的資源。
2014年8月24日 星期日
Store Apps 操作應用程式內設定值
在傳統 Windows 應用程式開發時,我們使用 Registry 儲存 Key Value 形式的資料,對於作業系統的資訊,我們也直接讀取 Registry 中的值,但在 Store Apps 的框架下,不論是 Windows 還是 Windows Phone 的應用程式,儲存資料方面我們需要用到 ApplicationData 類別在應用程式的私有空間中存取資訊,且我們無法進行 Registry 操作,僅能透過 SDK 所提供的 API 調查詢系統資訊。
2014年8月23日 星期六
Get Application Information
在 Windows 8 時要利用 WinRT 的 API 拿到應用程式名稱是一件麻煩的事情,目前在 8.1 提供的 SDK 中撰寫 Windows Store Apps 加入了比較直覺的取用方法,但很可惜的在 Windows Phone Store Apps 中並不支援,這裡記錄如何在 Store Apps 中取得應用程式的資訊。
訂閱:
文章 (Atom)