前回の「アプリデータを簡易読み書きする」では、単一のデータのみの読み書きを行いました。
今回は1つのキーで複数のデータを管理(読み書き)する方法を見ていきます。
複数のデータのことをコンポジット値と呼びます。コンポジット値を作成するには、はじめにApplicationDataCompositeValueオブジェクトを生成します。ここで作成したオブジェクトは、オブジェクト名[“キー名”] という書式で使用します。
以下にコンポジット値を読み書きするC#のコードを示します。MainPage.xamlにはボタンとテキストボックスを2つずつ配置しています。
データの読み込み側では、読み取ったデータが存在しない場合を考慮して、if文でnulかどうかを判定しています。nullでない場合にデータの読み取りを行っています。
書き込み側では、はじめにコンポジット値を作成しています、この例では2つのTextBoxから読み取った値をキー「value1」と「value2」それぞれ代入した後、前回の記事で説明した手法で保存をしています。
public sealed partial class MainPage : Page
{
Windows.Storage.ApplicationDataContainer _localSettings =
Windows.Storage.ApplicationData.Current.LocalSettings;
public MainPage()
{
this.InitializeComponent();
}
private void btnGetData_Click(object sender, RoutedEventArgs e)
{
Windows.Storage.ApplicationDataCompositeValue composite =
(Windows.Storage.ApplicationDataCompositeValue)_localSettings.Values["MyData"];
if (composite == null)
{
// データが存在しない場合
}
else
{
// コンポジット値の読み込み
txtData.Text = composite["value1"].ToString();
txtData2.Text = composite["value2"].ToString();
}
}
private void btnDataSave_Click(object sender, RoutedEventArgs e)
{
Windows.Storage.ApplicationDataCompositeValue composite =
new Windows.Storage.ApplicationDataCompositeValue();
// コンポジット値の作成
composite["value1"] = txtData.Text;
composite["value2"] = txtData2.Text;
// コンポジット値の書き込み
_localSettings.Values["MyData"] = composite;
}
}
Please follow and like us:


コメント