我正在为内部存储创建一个文件,而且在写入数据时遇到了问题。我知道它在调用时会检索正确的数据(我使用Logcat标记来检查它是否正确),但是一旦它尝试打开FileOutputStream,就会说第二行有一个NullPointerException:
static ContextWrapper wrap = new ContextWrapper(context);
FileOutputStream gamesave = wrap.openFileOutput (FILENAME, Context.MODE_PRIVATE);
gamesave.write(DATA.getBytes());
gamesave.close();
我已经查看了其他问题,我无法弄清楚为什么NullPointerException存在,它似乎遵循正确的程序。
答案 0 :(得分:0)
我认为你的context
var(即ApplicationContext)中有错误的Context。尝试直接使用上下文 - 没有Wrapper。
答案 1 :(得分:0)
为什么要创建ContextWrapper?没有理由这样做。只需使用您手边的上下文 - 如果您是活动,则使用活动,否则使用传入您的代码。
请注意,将应用程序用作上下文是完全正确的。