Isolated Storage Nedir?


Özellikle mobil uygulama geliştirenler için bazı verileri telefonda saklamak isteriz. Mesela bir uygulamanın en yüksek skoru, kullanıcı adı ve daha aklınıza gelebilecek birçok veriyi saklayabiliriz. Isolated storage ile uygulamanın küçük bir alanına yani telefonunuzda ayrılan bir bölgeye veri saklayabilirsiniz veya bu yerden veri okuyabilirsiniz. Burada dikkatinizi vermeniz gereken yer vardır. Bu bilgileri sadece ilgili uygulamadan erişilebilirsiniz. Aynı cihaz üzerinden farklı uygulamalar bu yolla bilgi alışverişini yapamazlar. Verileri telefonun hafızasında saklamanın iki yolu vardır.

IsolatedStorageSettings
IsolatedStorageFile

IsolatedStorageSettings

Burada saklanılan veriler uygulama başlatılıp durdurulsa ya da cihaz kapatılıp açılsa burada saklanan veri silininceye veya uygulama cihazdan kaldırılıncaya kadar veriler saklıyor olacaktır.

IsolatedStorageFile

IsolatedStorageFile, IsolatedStorageSettings’in aksine, yerel bir dosya üzerinde verileri saklamanıza olanak sağlayan bir yapıdır. IsolatedStorageSettings kullandığımızda uygulamaya ait ayarlarda yerel değerler saklayabilirsiniz. IsolatedStorageFile’da istediğiniz türde dosya oluşturup içeriğine hızlıca erişebilirsiniz. Küçük bir örnek ile bunun nasıl yapılacağına bir bakalım:

Öncelikle MainPage.xaml sayfamıza aşağıdaki kontrolleri ekliyoruz ve aşağıdaki kütüphaneleri MainPage.xaml.cs dosyamıza ekliyoruz.

using System.IO.IsolatedStorage;

using System.IO;

<Button Content="Kaydet" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="100,327,0,0" Grid.Row="1" Click="Button_Click"/>

        <Button Content="Göster" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="297,327,0,0" Grid.Row="1" Click="Button_Click_1"/>

        <TextBox x:Name="txtAd" HorizontalAlignment="Left" Height="72" TextWrapping="Wrap" VerticalAlignment="Top" Width="330" Margin="138,132,0,0" Grid.Row="1"/>

        <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Bir şeyler yaz" VerticalAlignment="Top" Margin="14,157,0,0" Grid.Row="1"/>

        <TextBlock x:Name="txtGoster" HorizontalAlignment="Left" TextWrapping="Wrap"  VerticalAlignment="Top" Margin="80,243,0,0" Grid.Row="1" Width="326"/>

Daha sonra butonlarımızın click eventlerine gelip Kaydet butonumuza kaydedeceğimiz verileri bir dosyaya kaydetme işlemini yapalım.

Göster butonumuzun click eventine gelip kaydettiğimiz dosyadan okuma işlemi yapmasına izin verelim.

Aşağıda yer alan kodları MainPage.xaml.cs dosyasına ilgili yerlere yapıştırın.

private void Button_Click(object sender, RoutedEventArgs e)

        {

            IsolatedStorageFile yeniDepo = IsolatedStorageFile.GetUserStoreForApplication();

            yeniDepo.CreateDirectory("metinDosyalari");

            StreamWriter yazici = new StreamWriter(new IsolatedStorageFileStream("metinDosyalari\\yeniDosya.txt", FileMode.OpenOrCreate, yeniDepo));

            yazici.WriteLine(txtAd.Text);

            yazici.Close();

        }

        private void Button_Click_1(object sender, RoutedEventArgs e)

        {

            IsolatedStorageFile kayitliDepo = IsolatedStorageFile.GetUserStoreForApplication();

            StreamReader okuyucu = new StreamReader(new IsolatedStorageFileStream("metinDosyalari\\yeniDosya.txt", FileMode.Open, kayitliDepo));

            string veri = okuyucu.ReadLine();

            txtGoster.Text = veri;

            okuyucu.Close();

        }

9099131120142112039099

Uygulama açılırken ki ekran.

7867131120142112327867

Kaydet butonuna basıldığı andaki ekran.

9648131120142113009648

Göster butonuna basıldığı andaki ekran.

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir