前回の「アプリデータを簡易読み書きする」では、単一のデータのみの読み書きを行いました。
今回は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:
コメント