non vorrei lavorare

2020年度からの小学校プログラミング教育の必修化を親として迎えるブロガーの書く、子供との日常

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

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

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;

            }
        }

関連記事