サイトのトップへ戻る

libGDX ドキュメント 日本語訳

Preferencesを使ったデータ保存

Preferences は、ユーザー設定や簡単なゲーム状態の保存など、アプリケーションの小さいデータを簡単に保存するための方法です。 Preferences はキーに文字列を使用し、値には様々なプリミティブ型を使用し、ハッシュマップのように動作します。 あなたのアプリケーションがブラウザ上で動作する場合、データを永続的に保存するにはPreferences を使うしかありません



Preferences インスタンスを取得する

Preferences は以下のコードで取得できます:

Preferences prefs = Gdx.app.getPreferences("My Preferences");

アプリケーションでは複数の preferencesを持つことができるので覚えておいてください。各 preferencesにはそれぞれ異なる名前を付けます。



値の書き込みと読み込み

Preferences の編集は Java Mapの編集と同じくらい簡単です:

prefs.putString("name", "Donald Duck");
String name = prefs.getString("name", "No name stored");

prefs.putBoolean("soundOn", true);
prefs.putInteger("highscore", 10);

getter メソッドには、既定値を引数として渡すやり方と渡さないやり方の二つがあるので覚えておいてください。 preferencesで指定されたキーの値がない場合は、既定値が戻り値として返されます。



Flush処理

明示的にflush() メソッドを実行した場合のみ、preferences インスタンスへの変更が反映されます。

// bulk update your preferences
prefs.flush();


ストレージ

Windowsと Linuxと OS Xでは、 preferences はユーザーのホームディレクトリの xml ファイルに保存されます。

OS Preferences の保存場所
Windows %UserProfile%/.prefs/My Preferences
Linux and OS X ~/.prefs/My Preferences

Gdx.app.getPreferences()メソッドに引数として渡した文字列がこのファイルの名前になります。

保存場所は、テスト時にpreferences の手動での作成や削除が成功したかを確認する場合に必要なので覚えておいてください。

Androidでは、システムの SharedPreferences クラスが使用されます。 つまり、アプリをアップデートしてもpreferences は維持されますが、アプリをアンインストールした場合には削除されます。

iOSでは、NSMutableDictionary を使った場合このファイルに書き込みが行われます。 [javadocs参照]