私は実際にはゲームでもあるWinRTアプリに取り組んでいます。オーディオ設定やプレーヤーの統計情報など、さまざまな情報をファイルのどこかに保存する必要があります。ファイルの場合は、設定を書き込むか...?私は考えを持っていますが、あまりにも初歩的すぎると思います...これを取得するための最良のアプローチは何ですか?
ヘルプや提案は大歓迎です!
私は実際にはゲームでもあるWinRTアプリに取り組んでいます。オーディオ設定やプレーヤーの統計情報など、さまざまな情報をファイルのどこかに保存する必要があります。ファイルの場合は、設定を書き込むか...?私は考えを持っていますが、あまりにも初歩的すぎると思います...これを取得するための最良のアプローチは何ですか?
ヘルプや提案は大歓迎です!
WinRTアプリにデータを保存するいくつかの方法があります。名前に[設定]が含まれる方法は、おそらく探しているものです!-他の方法も追加しました-必要に応じてデータをシリアル化することもできます。これは機能するコードですが、エラー処理などを追加することを忘れないでください。これは単純なデモコードです:)
設定については、単純な設定をキーと値として保存でき、より複雑な設定については、コンテナーを使用できます。ここに両方の例を示しました=)
public class StorageExamples
{
public async Task<string> ReadTextFileAsync(string path)
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.GetFileAsync(path);
return await FileIO.ReadTextAsync(file);
}
public async void WriteTotextFileAsync(string fileName, string contents)
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(file, contents);
}
public void SaveSettings(string key, string contents)
{
ApplicationData.Current.LocalSettings.Values[key] = contents;
}
public string LoadSettings(string key)
{
var settings = ApplicationData.Current.LocalSettings;
return settings.Values[key].ToString();
}
public void SaveSettingsInContainer(string user, string key, string contents)
{
var localSetting = ApplicationData.Current.LocalSettings;
localSetting.CreateContainer(user, ApplicationDataCreateDisposition.Always);
if (localSetting.Containers.ContainsKey(user))
{
localSetting.Containers[user].Values[key] = contents;
}
}
}
MSDNには、WindowsStoreアプリでのアプリ設定の使用に関する記事があります。
名前Windows.UI.ApplicationSettings
空間には、必要なすべてのクラスが含まれています。
開発者がWindowsシェルの設定ペインに表示されるアプリ設定を定義できるようにするクラスを提供します。設定ペインは、ユーザーがアプリの設定にアクセスするための一貫した場所を提供します。
基本的に、これらのクラスを使用すると、アプリケーション設定を保存して、すべてのアプリケーション設定の標準の場所にフックできます。ユーザーは新しいことを学ぶ必要はありません。設定は期待どおりの場所になります。