Subscribe:

7 Ocak 2014 Salı

Isolated Storage Nedir?

Özellikle mobil uygulama geliştirenler için kayıtların nerede ve ne şekilde tutalacağı sorun olmuştur.
Isolated Storage ile uygulamanıza özel ayrılmış alana kayıt ekleyebilir ve bu kayda istediğiniz zaman ulaşabilirsiniz. Adından da anlaşılacağı üzere izole edilmiş alan anlamına gelir. Bu ne demek oluyor? Şöyle, içindeki veriye yanlızca ilgili uygulama erişebiliyor. Diğer bir uygulamadan bu veriye erişemiyorsunuz. Aynı cihaz üzerinden iki uygulama birbirleri ile bu yoldan iletişime geçemez ve paylaşım yapamaz. Dolayısıyla iki uygulama arasında veri alışverişi sağlanmak isteniyorsa bu yapı bir işe yaramayacaktır. (Mesela Azure veya MSSQL ile iki uygulama arasında veri alışverişini sağlayabilirsiniz.)

Veriyi yerel olarak saklamanın 2 yöntemi vardır. İlk yöntem IsolatedStorageSettings, ikinci yöntem IsolatedStorageFile olarak adlandırılır.

İlk olarak IsolatedStorageSettings’i inceleyelim. Birçok durumda, ihtiyacı karşılayacak olan yöntem bu olacaktır. Bu, bir Dictionary (sözlük) içinde Key-Value (anahtar-değer) ikilisi şeklinde veri saklama yöntemidir. Uygulama başlatılıp durdurulsa da, cihaz kapatılıp açılsa da burada saklanan veri silininceye ya da uygulama cihazdan kaldırılıncaya kadar kalıcı olacaktır.

 private void Button_Click(object sender, RoutedEventArgs e)
        {
            IsolatedStorageSettings.ApplicationSettings["ad"] = txtAdi.Text;
            IsolatedStorageSettings.ApplicationSettings.Save();
        }

        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
            if (IsolatedStorageSettings.ApplicationSettings["ad"] != null) {
                txtAdi.Text =(string) IsolatedStorageSettings.ApplicationSettings["ad"];
            }
        }


Şimdi de diğer yöntem olan IsolatedStorageFile’ı inceleyelim. 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:


private void btnKaydet_Click(object sender, RoutedEventArgs e)
{
    IsolatedStorageFile yeniDepo = IsolatedStorageFile.GetUserStoreForApplication();
    yeniDepo.CreateDirectory("dosyam");
    StreamWriter yazici = new StreamWriter(new IsolatedStorageFileStream("dosyam\\yeniDosya.txt", FileMode.OpenOrCreate, yeniDepo));
    yazici.WriteLine(TextBox1.Text);
    yazici.Close();
}

private void btnGoster_Click(object sender, RoutedEventArgs e)
{
    IsolatedStorageFile kayitliDepo = IsolatedStorageFile.GetUserStoreForApplication();
    StreamReader okuyucu = new StreamReader(new IsolatedStorageFileStream("dosyam\\yeniDosya.txt", FileMode.Open, kayitliDepo));
    string veri = okuyucu.ReadLine();
    Label1.Text = veri;
    okuyucu.Close();    
}


Aşağıda IsolatedStorageSettings ile ilgili küçük bir anlatımım var bu videoyuda izlemenizi tavsiye ediyorum.

0 yorum:

Yorum Gönder