您好我有一个应该将JSON数组保存到内部存储的项目。 这是我的代码:
public void createFile(String data){
try{
FileOutputStream fos = openFileOutput("userObj", Context.MODE_PRIVATE);
fos.write(data.getBytes());
fos.close();
Log.d(TAG, "Successfully created userObj file.");
}catch (Exception e){
Log.d(TAG, "Failed to create userObj " + e);
}
}
但是当我打电话给createFile(response);
时
我得到了
java.lang.NullPointerException at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:180)
答案 0 :(得分:0)
Environment.getExternalStorageDirectory ()
注意:不要在这里混淆“外部”这个词。这个目录 可以更好地被视为媒体/共享存储。它是一个文件系统 可以容纳相对大量的数据,并且可以共享 所有应用程序(不强制执行权限)。传统上这是 SD卡,但它也可以作为内置存储器实现 与受保护的内部存储区别的设备,可以是 作为文件系统安装在计算机上。
答案 1 :(得分:0)
我在android.content.ContextWrapper.openFileOutput上获得java.lang.NullPointerException(ContextWrapper.java:180
您没有与之合作的有效Context
。
可能它是Activity
您已使用new
自我实例化了。不要这样做。活动只能通过框架的Intent
实例化。如果您需要传递Context
,请将引用传递给框架初始化的Context
对象,例如Activity
周围。