我刚刚为Android完成了一个游戏,我正在测试应用内购买功能.我正在使用android.test.purchased发送测试
几个小时前它工作正常.但现在,当我点击谷歌播放中的"接受并购买"时,商店会给出错误.
谷歌播放错误"从服务器[DF-DFERH-01]检索信息时出错"
有谁知道这个错误意味着什么?
我正在尝试使用SharedPreferences来保存设置.但我似乎无法在我的任何活动之间共享数据.我正在使用的代码确实设法保存设置,但每个活动似乎都有自己的每个变量版本.
所以举个例子.我有一个音频设置活动,用户可以在其中为保存的变量"musicVolume"赋值.如果我关闭游戏并重新加载,则音频设置活动会"记住"该值.但是,如果我尝试将值加载到任何其他活动中,它将无效.但是,他们都可以加载并保存自己的同名变量.
这些是我用来保存变量的方法.每项活动都有这些方法的副本.**
正如我所说,他们工作,但他们似乎只能读取和写入他们所在的个人活动的数据.
public void SavePreferences(String key, float value) {
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putFloat(key, value);
editor.commit();
}
public void LoadPreferences() {
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
musicVolume = sharedPreferences.getFloat("musicVolume", (float)0.123);
soundEffectsVolume = sharedPreferences
.getFloat("soundEffectsVolume", (float)0.123);
}
public void ClearPreferences() {
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
editor.commit();
}
Run Code Online (Sandbox Code Playgroud)
**我知道有更好的方法可以做到这一点,但我是一个非常新手的程序员.我试图遵循另一个线程的建议
但无论我在哪里尝试放线
protected AppPreferences appPrefs;
appPrefs = new AppPreferences(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)
我得到了这种或那种错误.但最重要的是,阅读线程上的其他评论,人们说无论如何,SharedPreferences会在同一个包中的活动之间自动共享,这就是我认为它们的工作方式.