在開發過程中我們經常需要用到很多資源檔案,比如城市名字和拼音對應清單等等。
這類檔案為什麼要作為本地資源檔案用呢?一般是因為:
1、我們不喜歡把這些資源寫死到代碼裡,比如一個城市清單“北京-Beijing、上海-Shanghai、……”,如果寫死到代碼裡顯然不如弄到XML(或者JSON,甚至是TXT檔案)裡靈活。
2、盡管這種資源可以從網絡上擷取,但對于操作頻繁的操作還是做到本地比較好(然後再加載到記憶體中顯然更好),何況這種資源也不是很大。
WP7讀取本地資源檔案,步驟很簡單。比如我們有一個city.xml需要讀取:
首先,把此檔案Copy到我們的項目中,然後設定它的屬性{複制到輸出目錄:始終複制,生成操作:Resource}(當然,也可以設定成如果較新則複制,個人感覺使用效果上沒什麼差別)
然後,代碼中調用:
StreamResourceInfo reader = Application.GetResourceStream(new Uri("/{你的項目名字};component/{檔案的路徑}", UriKind.Relative));
XElement xml = XElement.Load(reader.Stream);
也可能是我對JSON使用不多的緣故,個人感覺在WP7中XML比JSON更容易使用一些。之後就是XML解析的事情了,這就不是本文的重點啦,各位同學對XML解析如果不了解可以查閱相關資料。
本文來自錦燕雲的部落格,原文位址:http://www.cnblogs.com/vistach/archive/2011/12/02/WP7_ReadResourceFile.html
Uri txtUri = new Uri("/YouHanJiaKao;component/Data/Questions.txt", UriKind.Relative);
StreamResourceInfo sri = Application.GetResourceStream(txtUri);
using (StreamReader reader = new StreamReader(sri.Stream, System.Text.Encoding.UTF8))
{
string qustionStr = "";
while ((qustionStr = reader.ReadLine()) != null)
{}
}