Windows 8 のローカル ストレージについて質問があります。
銘柄記号の文字列配列を保存したいと考えています。Windows 8でこのようなことを行う最良の方法は何ですか?
ブラウズすると、配列内の各文字列をテキスト ファイルの新しい行に保存し、保存してローカル ストレージから取得することを提案する人もいます。
もしそうなら、どうすればこれを達成できますか?より良い代替手段はありますか?私はsqliteの道をたどるべきですか?
コレクションをローカルストレージに保存する方法を示すサンプルを次に示します。確認してください:http://code.msdn.microsoft.com/windowsapps/CSWinStoreAppSaveCollection-bed5d6e6
分離ストレージを使用してアプリケーションの値を保存することをお勧めします。シリアル化された JSON やオブジェクトなどとして保存することをお勧めします。コード例を次に示します。
-- 設定データ
var localStorage = ApplicationData.Current.LocalSettings;
localStorage.Values[key] = value;
-- データを取得
var localStorage = ApplicationData.Current.LocalSettings;
if(localStorage.Values.ContainsKey(key)
return (T)localStorage.Values[key];
通常は、上記をヘルパー クラスにラップする方が実用的ですが。
他のオプションは、SQLite や XML/JSON ファイルなどのファイルをディスクに書き込むことですが、上記は少量のデータに対しては問題なく機能するはずです。
配列をローカル ストレージに保存するには、配列を文字列に変換する必要があります。
var localSettings = Windows.Storage.ApplicationData.current.localSettings;
var someSetting= new Array();
//Add values you want to store
someSetting.push("someValue");
//Change to string and save to local Storage
//toString will convert the array to a string with values separated by a comma
localSettings.values["someSettingInStorage"] = someSetting.toString();
//To retrieve the stored string value as a usable array
if (localSettings.values["someSetting"] != null)
someSetting = (localSettings.values["someSetting"]).split(",");