読者です 読者をやめる 読者になる 読者になる

PG.Lib

主にUWP、C#に関することやガジェット系

ローミング設定へサクっと読み書きする

ローミングへ書き込むと、Microsoftアカウント経由で、設定情報等を自動で同期できる。

Key-Value での読み書きとなるが、扱える型は割と限られていたので、文字、数値くらいに思っておいた方がいいかも。

あと容量制限があったり、同期のタイミングはまちまちだったりするらしいので、プライオリティ低めなデータを扱うべし。

Using

using Windows.Storage;

 

書込処理

public static bool setSettingValue(string valueKey, string value)
{
    try
    {
        // ローミングから読み出し
        var values = ApplicationData.Current.RoamingSettings.Values;
        // キーが存在するかチェック
        if (values.ContainsKey(valueKey))
        {
            // 同一キーがあれば更新
            values[valueKey] = value;
        }
        else
        {
            // なければ追加
            values.Add(valueKey, value);
        }
    }
    catch (Exception)
    {
        // 何かしらで失敗
        return false;
    }
    return true;
}

とりあえず、文字列の書き込みを前提。

 

読込処理

public static string getSettingValue(string valueKey, string defalutValue = "")
{
    // ローミングから読み出し
    var values = ApplicationData.Current.RoamingSettings.Values;
    // キーが存在するかチェック
    if (values.ContainsKey(valueKey))
    {
        // 同一キーがあれば返す
        return values[valueKey].ToString();
    }
    // なければデフォルト値
    return defalutValue;
}

こちらも、文字列の読み込みを前提。

 

まとめ

基本的なことなので、そこらじゅうに記事はあるけど、自分もよくつかうのでメモメモ。

設定系は値更新と共にローミングへ保存!ってをよく見かける気がする。