Windows Phone筆記(10)使用隔離儲存區 (Isolated Storage)(中)

來源:互聯網
上載者:User
文章目錄
  • 1.使用 IsolatedStorageFile類隱藏檔和檔案夾

  在我們前面的筆記中瞭解如何通過使用IsolatedStorageSettings類來儲存應用程式設定,也知道隔離儲存區 (Isolated Storage)還可以通過使用使用 IsolatedStorageFile類隱藏檔和檔案夾。在這篇筆記中,讓我們一起來瞭解並學會使用IsolatedStorageFile類來隱藏檔和檔案夾。

1.使用 IsolatedStorageFile類隱藏檔和檔案夾

  由於涉及到了I/O操作,我們首先需要在項目中引用到System.IO和IsolatedStorageFile類所在的System.IO.IsolatedStorage這兩個命名空間。下面我們通過一個樣本來瞭解如何使用IsolatedStorageFile類來隱藏檔和檔案夾。

  在樣本中我們在文字框中輸入檔案,點擊儲存,然後再把儲存的文本讀取並顯示出來。首先給出我們的前台MainPage.xaml的代碼:

 

 1       <!--ContentPanel - 在此處放置其他內容-->
2 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
3 <StackPanel>
4 <Grid Margin="0 15" Height="300">
5 <TextBox Width="450" Height="72" VerticalAlignment="Top" Name="txtWrite"/>
6 <Button Width="200" Height="72" Content="儲存資料" VerticalAlignment="Center" Name="btnSave" Click="btnSave_Click"/>
7 </Grid>
8 <Grid Height="350" Margin="0 15">
9 <TextBlock Width="200" Height="72" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="32" Name="txtRead"/>
10 <Button Width="200" Height="72" Content="讀取資料" VerticalAlignment="Center" Name="btnRead" Click="btnRead_Click"/>
11 </Grid>
12 </StackPanel>
13 </Grid>

 

然後是MainPage.xaml.cs幕後處理程式:

 1       /// <summary>
2      /// 將文字框中的文本寫入到檔案中
3      /// </summary>
4      /// <param name="sender"></param>
5      /// <param name="e"></param>
6 private void btnSave_Click(object sender, RoutedEventArgs e)
7 {
8 // 擷取應用程式的虛擬儲存
9 IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
10
11 // 在隔離儲存區 (Isolated Storage)中建立一個新的檔案夾
12 myStore.CreateDirectory("TestFolder");
13
14 // 指定檔案路徑和選項
15 using (var isoFileStream = new IsolatedStorageFileStream(@"TestFolder\myTestFile.txt", FileMode.OpenOrCreate, myStore))
16 {
17 //寫入資料
18 using (var isoFileWriter = new StreamWriter(isoFileStream))
19 {
20 isoFileWriter.WriteLine(txtWrite.Text);
21 }
22 }
23 }
24
25 /// <summary>
26     /// 讀取寫入的檔案
27      /// </summary>
28      /// <param name="sender"></param>
29      /// <param name="e"></param>
30 private void btnRead_Click(object sender, RoutedEventArgs e)
31 {
32 // 擷取應用程式的虛擬儲存
33 IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
34 try
35 {
36 // 讀取指定目錄的指定檔案
37 using (var isoFileStream = new IsolatedStorageFileStream(@"TestFolder\myTestFile.txt", FileMode.Open, myStore))
38 {
39 // 讀取資料
40 using (var isoFileReader = new StreamReader(isoFileStream))
41 {
42 txtRead.Text = isoFileReader.ReadLine();
43 }
44 }
45 }
46 catch
47 {
48 //異常處理
49 txtRead.Text = "請預先建立檔案和檔案夾";
50 }
51 }

編譯運行程式:

  

可以看到我們已經成功建立一個檔案夾和txt檔案,並且在txt檔案中寫入了資料。但是我們真的在手機儲存開中建立了一個這樣的檔案嗎?微軟在Windows Phone中的儲存控制是很嚴格的,我們並不能夠直接查看我們在隔離儲存區 (Isolated Storage)中建立的檔案,不過我們可以通過一個使用Windows Phone SDK內建的:隔離儲存區 (Isolated Storage)資源管理員可列出、複製和替換隔離儲存區 (Isolated Storage)中的檔案和目錄,下面我們就將我們的建立的檔案複製到我們的電腦中。

 

2.使用隔離儲存區 (Isolated Storage)資源管理員(ISETool.exe)將隔離儲存區 (Isolated Storage)中建立的檔案複製到電腦中

  根據作業系統的不同,隔離儲存區 (Isolated Storage)資源管理員的安裝位置在:

  • Program Files\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool

  • Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool

首先我們開啟模擬器,確保我們的前面的應用程式已經部署在模擬器中,並且已經在隔離儲存區 (Isolated Storage)中建立了檔案,之後,開啟命令列,進入到隔離儲存區 (Isolated Storage)資源管理員的安裝目錄中,例如在我的電腦中是:

 

接著擷取應用程式的 Product GUID,因為在下面的命令中我們需要使用到它,在Properties檔案夾下的WPAppManifest.xml 檔案的 App 元素的 ProductID 屬性的值,選中複製。然後在命名行中接著輸入:

              ISETool.exe ts xd 應用程式的ProductId屬性值 "電腦上的路徑"

這我這裡是這樣:

 

然後斷行符號,命令成功後如下所示:

開啟我們複製到的目錄我們可以看到已經成功的把建立的檔案從Windows Phone中複製到本地:

 

猛擊下載:樣本源碼

參考資料:

  http://msdn.microsoft.com/zh-cn/library/ff626519(v=vs.92).aspx(重要)

  http://msdn.microsoft.com/zh-cn/library/hh286408(v=vs.92).aspx

  http://msdn.microsoft.com/zh-cn/library/ff769544(v=vs.92).aspx(重要)

作者:晴天豬

出處:http://www.cnblogs.com/IPrograming 

本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。

   Windows Phone開發人員交流群:79339880,歡迎大家來一起討論交流,共同學習進步。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.