修鍊九陰真經Windows Phone開發 (8):隔離儲存區 (Isolated Storage)Isolated storage

來源:互聯網
上載者:User

前台XAML

<phone:PhoneApplicationPage     x:Class="IsolatedStorageApp.MainPage"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"    FontFamily="{StaticResource PhoneFontFamilyNormal}"    FontSize="{StaticResource PhoneFontSizeNormal}"    Foreground="{StaticResource PhoneForegroundBrush}"    SupportedOrientations="Portrait" Orientation="Portrait"    shell:SystemTray.IsVisible="True">    <!--LayoutRoot is the root grid where all page content is placed-->    <Grid x:Name="LayoutRoot" Background="Transparent">        <Grid.RowDefinitions>            <RowDefinition Height="Auto"/>            <RowDefinition Height="*"/>        </Grid.RowDefinitions>        <!--TitlePanel contains the name of the application and page title-->        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">            <TextBlock x:Name="ApplicationTitle" Text="ISOLATED STORAGE" Style="{StaticResource PhoneTextNormalStyle}"/>            <TextBlock x:Name="PageTitle" Text="隔離儲存區 (Isolated Storage)" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>        </StackPanel>        <!--ContentPanel - place additional content here-->        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">            <TextBox Height="72" HorizontalAlignment="Left" Margin="-1,42,0,0" Name="txtWrite" Text="" VerticalAlignment="Top" Width="416" />            <Button Content="儲存" Height="72" HorizontalAlignment="Left" Margin="-1,160,0,0" Name="btnWrite" VerticalAlignment="Top" Width="160" Click="txtWrite_Click" />            <TextBlock Height="149" HorizontalAlignment="Left" Margin="12,275,0,0" Name="txtRead" Text="" VerticalAlignment="Top" Width="403" />            <Button Content="讀取" Height="72" HorizontalAlignment="Left" Margin="-1,450,0,0" Name="btnRead" VerticalAlignment="Top" Width="160" Click="btnRead_Click" />        </Grid>    </Grid>     <!--Sample code showing usage of ApplicationBar-->    <!--<phone:PhoneApplicationPage.ApplicationBar>        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>            <shell:ApplicationBar.MenuItems>                <shell:ApplicationBarMenuItem Text="MenuItem 1"/>                <shell:ApplicationBarMenuItem Text="MenuItem 2"/>            </shell:ApplicationBar.MenuItems>        </shell:ApplicationBar>    </phone:PhoneApplicationPage.ApplicationBar>--></phone:PhoneApplicationPage>

 

 

後台 CS:

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using Microsoft.Phone.Controls;using System.IO;using System.IO.IsolatedStorage;namespace IsolatedStorageApp{    public partial class MainPage : PhoneApplicationPage    {        // Constructor        public MainPage()        {            InitializeComponent();        }        private void txtWrite_Click(object sender, RoutedEventArgs e)        {            //Obtain the virtual store for application            IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();            //Create a new folder and call it "FavorFolder"            myStore.CreateDirectory("FavorFolder");            //Create a new file and assign a StreamWriter to the store and this new file (myFile.txt)            //Also take the text contents from the txtWrite control and write it to myFile.txt            StreamWriter writeFile = new StreamWriter(new IsolatedStorageFileStream("FavorFolder\\myFile.txt", FileMode.OpenOrCreate, myStore));            writeFile.WriteLine(txtWrite.Text);            writeFile.Close();        }        private void btnRead_Click(object sender, RoutedEventArgs e)        {            //Obtain a virtual store for application            IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();            //This code will open and read the contents of myFile.txt            //Add exception in case the user attempts to click Read button first.            StreamReader readFile = null;            try            {                readFile = new StreamReader(new IsolatedStorageFileStream("FavorFolder\\myFile.txt", FileMode.Open, myStore));                string fileText = readFile.ReadLine();                //The control txtRead will display the text entered in the file                txtRead.Text = fileText;                readFile.Close();            }            catch            {                txtRead.Text = "Need to create directory and the file first.";            }        }    }}

總結:如果是儲存臨時資料(一次執行循環之間的資料)最好使用PhoneApplicationService類儲存;如果是儲存應用程式設定(多次執行循環之間儲存資料)最好使用隔離儲存區 (Isolated Storage)IsolatedStorageSettings類儲存。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.