XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書
顯示具有 WinRT 標籤的文章。 顯示所有文章
顯示具有 WinRT 標籤的文章。 顯示所有文章

2014/06/25

關於檔案的 URI 配置

當要存取某個檔案的時候,我們可以使用ApplicationData Class (提供對應用程式資料存放區的存取。 應用程式資料是由本機、漫遊或暫時的檔案與設定所組成)來取得相對應的 StorageFolder物件,接著依序取得檔案所在位置的目錄 StorageFolder物件,接著取得該目錄下的檔案 StorageFile物件,如此,就可以針對該檔案來進行操作了。

不過,我們可以透過檔案的 URI(統一資源識別元)配置,指出該檔案所在的路徑,我們可以參考這些檔案是來自於 [應用程式套件]、[資料資料夾]或[資源]的應用程式檔案。

ms-appx
配置參考來自應用程式套件的應用程式檔案 (請參閱應用程式套件與部署)。
這類檔案通常為靜態影像、資料、程式碼及配置檔。


        void PopupForSheetMusic_Closed(object sender, object e)
        {
            this.imgSheetMusic.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/Core/btn_sheet music_n.png"));
        }


        public MyChannelData()
        {
            this.ID = RandomString(20);
            this.OrderNo = 99999;
            this.Title = "";
            this.CreateDatetime = DateTime.Now;
            this.RecordLength = TimeSpan.FromSeconds(0);
            this.GetProductInfo_Data = new GetProductInfo_Response_Data();
            this.RecordingType = Business.RecordingType.VIDEO;
            this.Cover = "ms-appx:///Assets/Images/Core/img_voice_picture.png";
        }


ms-appdata
使用 ms-appdata 配置來參考應用程式檔案,這些檔案來自應用程式的本機、漫遊及暫存資料資料夾。

若想要讀取[本機]、[暫存]、[漫遊]這三個資料夾,可以使用下列的 URI

本機資料夾  ms-appdata:///local/
暫存資料夾  ms-appdata:///temp/
漫遊資料夾  ms-appdata:///roaming/

                    if (xi.Count >= 1)
                    {
                        di.Cover = xi[0].GetProductInfo_Data.ProductCover;
                        di.Cover = string.Format("ms-appdata:///local/CoverImages/{0}.png", xi[0].GetProductInfo_Data.ProductID);
                    }
                    if (xi.Count >= 2)
                    {
                        di.Cover2 = xi[1].GetProductInfo_Data.ProductCover;
                        di.Cover2 = string.Format("ms-appdata:///local/CoverImages/{0}.png", xi[1].GetProductInfo_Data.ProductID);
                    }
                    if (xi.Count >= 3)
                    {
                        di.Cover3 = xi[2].GetProductInfo_Data.ProductCover;
                        di.Cover3 = string.Format("ms-appdata:///local/CoverImages/{0}.png", xi[2].GetProductInfo_Data.ProductID);
                    }


ms-resource

使用 ms-resource 配置來參考應用程式資源,這類資源通常是字串資源。

參考來源:http://msdn.microsoft.com/zh-tw/library/windows/apps/jj655406.aspx

如何在 Windows Store App 與 Windows Phone App上,取得裝置上的唯一 ID 代碼

如何在 Windows Store App 與 Windows Phone App上,取得裝置上的唯一 ID 代碼,相信很多在寫App的朋友都會遇到這樣的問題,我這裡整理出這兩個平台取得裝置上唯一ID代碼 ( Device ID)的方法。

Windows Phone

        public static string GetHardwareId()
        {
            string ss = HostInformation.PublisherHostId;
            return ss;
        }

其中您可以參考 MSDN 上的說明 HostInformation.PublisherHostId property

Windows Store ( WinRT )

        /// 
        /// 取得裝置的唯一識別代碼
        /// 
        /// 
        public static string GetHardwareId()
        {
            var _Token = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null);
            var _Id = _Token.Id;
            var _Reader = Windows.Storage.Streams.DataReader.FromBuffer(_Id);
            var _Bytes = new byte[_Id.Length];
            _Reader.ReadBytes(_Bytes);

            string ss = BitConverter.ToString(_Bytes).Replace("-", "");
            return ss;
        }

其中,在MSDN上的描述為 : HardwareIdentification.GetPackageSpecificToken 取得表示目前硬體的硬體識別項 (ASHWID)。 為每個應用程式封裝傳回的 ASHWID 會不同。換句話說,當這個應用程式開發介面由兩個來自不同封裝的應用程式呼叫時,就會傳回不同的識別項。當同一個封裝的兩個應用程式呼叫它時,它會傳回相同的識別項。

2014/06/24

在 Windows Phone 多語系應用程式工具組

在您開發 Windows Phone & Windows Store (WinRT) App的時候,若您的App可以支援兩個以上的多國語言文字,必定可以有全球更多的人來認識、安裝、使用,甚至購買您的App;以往要做多國語言支援的時候,需要維護不同語言的資源檔案 .resw,處理起來相當的麻煩,而且,針對不同語系的文字,都需要自己來處理與更新這些文字的翻譯問題。

自從有了 [多語系應用程式工具組] ,這一切的夢厭都隨之煙消雲散了,透過了 [多語系應用程式工具組] ,您可以維護一組語言文字資源,其他的都透過 [多語系應用程式工具組] 幫您來處以,也可協助您使用 Bing 的翻譯工具,自動的翻譯成為不同語系文字,最重要的是,這都是免費的。

最令我激賞的是,這套 [多語系應用程式工具組] 可以支援 Windows Phone & WinRT 的App。

適用於 Visual Studio 2012 的多語系應用程式工具組