原文链接:https://github.com/libgdx/libgdx/wiki/Preferences
译者:重庆好爸爸 game4kids@163.com
谢绝转载
概述
首选项是用于存储应用程序的小数据的简单方法,例如 用户设置,小游戏状态保存等。 首选项像哈希映射一样工作,使用字符串作为键,以及各种基本类型作为值。 首选项也是迄今为止在浏览器中运行应用程序时写持久数据的唯一方法。
获取Preferences实例
Preferences的实例可以通过如下代码片段获取
Preferences prefs = Gdx.app.getPreferences("My Preferences");
注意:你的APP可以有多个preferences实例,只需要给不同的名字即可。
Preference数据读写
修改Preference是修改JAVA MAP一样简单:
prefs.putString("name", "Donald Duck");
String name = prefs.getString("name", "No name stored");
prefs.putBoolean("soundOn", true);
prefs.putInteger("highscore", 10);
注意:getter方法有2种:带default value和不带default value. 带default value时,如果指定key没有值,则返回default value
Flushing
你修改的preference instance只有在执行flush()方法会才会保存下来。
// bulk update your preferences
prefs.flush();
存储 Storage
在Windows, Linux, and OS X, preferences 保存在用户home directory的xml文件中
文件名是你使用Gdx.app.getPreferences()时设置的。
这里有一些有用的东西如果你想用来测试手工改变或者手工删除
Android系统中, 使用SharedPreferences 类. 这个意味着preferences在APP升级时仍然可以使用,但是app删除时,preference也会随之被删除。
IOS系统中,NSMutableDictionary会被写入给出的文件中[per javadocs]