我使用sharedpreferences保存了一些变量,但是我的save方法使应用程序崩溃,出现了空指针异常。
public void save() {
SharedPreferences sp = context.getSharedPreferences(saveFile, Context.MODE_PRIVATE);
//Use the editor for easier management, no calling edit and commit so many times.
SharedPreferences.Editor editor = sp.edit();
editor.putInt("X", player.getX());
editor.putInt("Y", player.getY());
editor.putInt("level", player.getLevel());
editor.putFloat("xp", player.getXp());
editor.commit();
}
getSharedPreferences()本身不能工作,需要有上下文。在它之前,这可能是一个问题。我已经定义了上下文,导入了SharedPreferences,那么为什么这不起作用呢?
02-18 20:21:49.958: E/AndroidRuntime(1005): FATAL EXCEPTION: Thread-89
02-18 20:21:49.958: E/AndroidRuntime(1005): java.lang.NullPointerException
02-18 20:21:49.958: E/AndroidRuntime(1005): at com.package.game.GameScreen.save(GameScreen.java:856)
02-18 20:21:49.958: E/AndroidRuntime(1005): at com.package.game.GameScreen.updateLevelUp(GameScreen.java:364)
SharedPreferences sp = context.getSharedPreferences(saveFile, Context.MODE_PRIVATE);
您的上下文
变量为null
。确保它已经初始化,并且没有在相应的上下文
的oncreate()
之前调用此代码。
我在将数据正确保存到SharedPreferences中时遇到问题。不知何故,最后一个editor.putstring方法被写入了我所有的首选项中,我不知道为什么。 根据官方文件,我做的一切都是对的。在此处输入链接描述 如有任何帮助,不胜感激。提前谢了。
我想在下面的代码中通过SharedPreferences保存我的ToggleButton状态。请引导我。非常感谢。
问题内容: 这是从网络摄像机保存视频的代码 当我在python中运行它时出现以下错误 请帮我解决这个错误 问题答案: Python / OpenCV 2.4.9不支持cv2.VideoWriter_fourcc,即3.x版本。如果您使用的是2.4.x: 更换 与 这里的好例子如何使用OpenCV和Python录制视频 转载以供参考:
MainActivity.class MainActivity中的
问题内容: 使用SharedPreferences,此活动在启动时崩溃。首先,我将发布活动代码,然后将我的LogCat发布。非常感谢你们,你们总是有很大帮助!:-) 活动代码; 这是我的LogCat; 问题答案: 您必须在调用onCreate之后访问共享首选项。否则上下文将为null :)这就是为什么您会得到null指针异常的原因 移动这条线: 在onCreate()中