在開發應用程式的過程中,或多或少都會預置一些資源檔在項目工程中。通過開發工具我們可以將資源檔添加到項目中,以便在程式中使用。
一.資源檔屬性BuildAction
1.BuildAction屬性常用的狀態有三種,即Content|Resource|None。
BuildAction屬性設定為Conten的檔案將被作為獨立檔案直接打包在xap檔案中
BuildAction屬性設定為Resource的檔案將被嵌入到xap包中的dll檔案內
BuildAction屬性設定為None的檔案,將不會存以任何形式在於xap包中
2.選擇Content還是Resource。
微軟給出的解釋是使用”Content”要比“Resource”效能上好一些。因為Windows Phone 7是為檔案和網路流做了最佳化處理,但是Memory流卻沒有。設定成Content類型,這些檔案將會作為獨立的檔案存在xap包中,如果設定為resource,他們會被編譯到dll中。如果把這些檔案設定為Resource方式的話,它們實際上在回放的時候還需要讀取出來放到檔案中,反而降低了效能。所以,如果你的程式中有大量的媒體檔案的話,要想效能好,還是把它們的BuildAction設定為“Content”比較好一些。
二.資源檔的讀寫
1.資源檔是唯讀,無法進行寫操作。
2.讀取資源檔。
//資源檔路徑
String path = "/Res/test.txt";
//讀取檔案內容資訊
String content = String.Empty;
//資源類型檔案處理
try
{
StreamResourceInfo reader = Application.GetResourceStream(new Uri(path, UriKind.Relative));
if (reader != null)
{
using (StreamReader streamReader = new StreamReader(reader.Stream))
{
content = streamReader.ReadToEnd();
}
}
}
catch (Exception ex)
{
//讀取失敗
}