ユーザ用ツール

サイト用ツール

サイドバー

About

Contents

Materials Link

その他

PR


wiki:windowsphone:7.1:tips:018

018 キーによる値の保存、読み込み

概要

キー(Key) と 値(Value) の組み合わせで情報を保存します。インストールしたアプリを削除すると保存した情報は削除されます。using System.IO.IsolatedStorageの名前空間を追加するのを忘れずに。

MainPage.xaml.cs

using System;
using System.Collections.Generic;
using System.IO.IsolatedStorage;
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.Media.Imaging;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
 
namespace BaseApp
{
	// エントリーポイント
	public partial class MainPage : PhoneApplicationPage
	{
		// コンストラクタ
		public MainPage()
		{
			// コンポーネントの初期化。
			InitializeComponent();
 
			// 初期化完了後に呼ばれるメソッドの登録。
			Loaded += OnLoaded;
		}
 
		// 初期化完了後に呼ばれるメソッド。
		void OnLoaded(object sender, RoutedEventArgs args)
		{
			// セーブデータに情報を追加。
			AddSaveData( "KEY_1", 100 );
			AddSaveData( "KEY_2", 43.3f);
			AddSaveData( "KEY_3", "Windows Phone 7" );
 
			// 保存。
			Save();
 
			// セーブデータ取得。
			int int_value	   = GetSaveData("KEY_1", 0);
			float float_value   = GetSaveData("KEY_2", 0.5f);
			String string_value = GetSaveData("KEY_3", "empty");
 
			// 結果を出力。
			System.Diagnostics.Debug.WriteLine("KEY_1 = {0}", int_value);
			System.Diagnostics.Debug.WriteLine("KEY_2 = {0}", float_value);
			System.Diagnostics.Debug.WriteLine("KEY_3 = {0}", string_value);
		}
 
		// 保存。
		private void Save()
		{
			IsolatedStorageSettings isolatedStore = IsolatedStorageSettings.ApplicationSettings;
			isolatedStore.Save();
		}
 
		// 保存するキーと値のセット。
		private void AddSaveData<valueType>(String _Key, valueType _value)
		{
			IsolatedStorageSettings isolatedStore = IsolatedStorageSettings.ApplicationSettings;
			try
			{
				// 既に存在するキーであり、値が変更されている場合。
				if( isolatedStore[_Key].ToString() != _value.ToString() )
				{
					// 新規に設定する。
					isolatedStore[_Key] = _value;
				}
			}
			// 一致するKeyが無い場合
			catch(KeyNotFoundException)
			{
				// キーを追加
				isolatedStore.Add(_Key, _value);
			}
		}
 
		// 保存されたキーと値の取得。
		public valueType GetSaveData<valueType>(String _Key, valueType _value)
		{
			IsolatedStorageSettings isolatedStore = IsolatedStorageSettings.ApplicationSettings;
 
			valueType value;
			try
			{
				// 取得。
				value = (valueType)isolatedStore[_Key];
			}
			//一致するKeyが無い場合
			catch(KeyNotFoundException)
			{
				value = _value;
			}
			return value;
		}
	}
}
Permalink wiki/windowsphone/7.1/tips/018.txt · 最終更新: 2014/11/09 12:51 (外部編集)

oeffentlich