LibGDX偏好设置

来自Preferences的译文

偏好设置是存储应用程序小数据的简单有效的方法,例如用户设置、游戏状态保存等,偏好设置类似于HashMap表,使用字符串作为键,以及各种基本类型作为值。偏好设置也是当您的应用程序的运行平台是浏览器时,持久化数据的唯一方法。

获取一个偏好设置实例

偏好设置实例可以通过以下代码片段获取:

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

说明:你的应用可以有多个偏好设置,只要给他们不同的名字即可.

读写数据

修改偏好设置的值跟修改Map的值一样简单:

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

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

注意:Get方法有两个参数,一个是key值,另外一个是如果偏好设置中没有指定的键的值,则返回默认值。

Flushing

如果您明确地调用flush()方法,那么对偏好设置实例的更改会立即被持久化。

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

存储

在Windows,Linux和OS X上,首选项存储在用户主目录中的xml文件中。

OS Preferences storage location
Windows %UserProfile%/.prefs/My Preferences
Linux and OS X ~/.prefs/My Preferences

文件名称是您传递给 Gdx.app.getPreferences() 方法时的参数名称。

了解以下内容有助于您更好的测试
在Android中,使用Android系统的SharedPreferences 类,这意味着偏好设置可以在应用程序更新中生存,但在卸载应用程序时会被删除。
在iOS上,NSMutableDictionary将被写入给定的文件,详见javadocs

推荐阅读更多精彩内容