non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

ローカルストレージにメールアドレスを保存する

クラウドに保存できるが。。。

WebCamNoteEvernoteのメールアドレスを毎回入力するのがめんどうだし、
かと言ってGAEのクラウド上に保存するのも、個人情報の扱い的に微妙だし、
そんな訳で、Silverlightのローカルストレージを使って実装した。

ローカルストレージに保存するには

private void SetUserAddress(string address)
        {
            try
            {
                using (var store = IsolatedStorageFile.GetUserStoreForApplication())
                {

                    if (!store.DirectoryExists("Address"))
                    {
                        store.CreateDirectory("Address");
                    }
                    using (var isoStream = store.OpenFile(@"Address\UserAddress.txt", FileMode.OpenOrCreate))
                    {
                        using (StreamWriter writer = new StreamWriter(isoStream))
                        {
                            writer.WriteLine(address);
                        }
                    }

                }
            }
            catch (IsolatedStorageException isx)
            {
                // 例外
                return;

            }
}

ローカルストレージから読み出すには

private string GetUserAddress()
        {
            try
            {
                // Use a BitmapResource to set the source 
                // for the Image control (UserImage) defined in XAML.
                BitmapImage bi = new BitmapImage();
                string address = String.Empty;
                using (var store = IsolatedStorageFile.GetUserStoreForApplication())
                {

                    if (store.FileExists(@"Address\UserAddress.txt"))
                    {
                        using (var isoStream = store.OpenFile(@"Address\UserAddress.txt", FileMode.Open))
                        {

                            using (StreamReader reader = new StreamReader(isoStream))
                            {
                                address = reader.ReadLine();
                            }


                        }
                    }

                }
                return address;
            }

            catch (IsolatedStorageException isx)
            {
                // 例外
                return String.Empty;

            }
        }

関連記事