所以我想要实现的是:当用户购买新项目(纹理)时,他们可以单击按钮将旧项目(纹理)替换为新项目。 我首先想到的是Objectmaps。所以我创造了这个:
ObjectMap<Integer, Texture> screenMap = new ObjectMap<Integer, Texture>();
我现在只使用两件物品来抓住它:
screenMap.put(prefs.getInteger("stoneOne", 0), sdStone);
screenMap.put(prefs.getInteger("stoneTwo", 1), stone_3);
以下是我用来改变纹理的方法:
public void setStone1() {
stoneImage = new Image(screenMap.get(0));
}
public void setStone(int screenId) {
stoneImage = new Image(screenMap.get(screenId));
}
现在我可以弄清楚:
Preferences prefs = Gdx.app.getPreferences("preferences");
prefs.putString("textField", textField.getText());
prefs.putString("textArea", textArea.getText());
prefs.getInteger("stone", );
prefs.putInteger("stone", );
prefs.flush();
我不知道Integer会放在那里,因为你可以看到我甚至现在就把它排除在外。我尝试了screenId整数但由于它处于无效状态,因此无法访问它? P.S从不介意我得到的奇怪的名字。我从一个旧项目中获取了一些代码。
答案 0 :(得分:1)
尝试以另一种方式行走。
Preferences prefs = Gdx.app.getPreferences("preferences");
prefs.putString("texture_one_path", "/sdcard/tex1.jpeg");
prefs.putString("texture_two_path", "/sdcard/tex2.jpeg");
答案 1 :(得分:0)
偏好设置是移动设备上使用的轻量级安全配置文件。它们通常也是加密的,因此访问它们总是有成本的。它们通常用于用户设置,登录信息等。首选项的Android外推称为SharedPreferences。这是文档:http://developer.android.com/reference/android/content/SharedPreferences.html
&#34; SharedPreferences&#34;的iOS概念被称为NSUserDefaults,其页面为https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/index.html
底线:你不应该在偏好中保存很多信息。将其用于字符串,全局值,用户设置(音量级别,用户凭据,关闭gore等)。对于大型字符串数据,请使用raws。对于大型媒体,请使用SD卡。
希望有所帮助。