我正在使用Android Studio尝试将文件写入外部存储。
其他帖子建议我使用getExternalFilesDir(null)
执行此操作,但收到消息Cannot resolve method 'getExternalFilesDir(null)'
。
public void makeFile() {
try {
String storageState = Environment.getExternalStorageState();
if (storageState.equals(Environment.MEDIA_MOUNTED)) {
File file = new File(getExternalFilesDir(null), "outputFile.txt");
FileOutputStream fos = new FileOutputStream(file);
String text = "Hello, world!";
fos.write(text.getBytes());
fos.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
我无法找到任何方法来摆脱这个错误。提前感谢您解决问题的方法。
答案 0 :(得分:17)
getExternalFilesDir()
是需要Context
的方法。在Activity类中,您只需要调用getExternalFilesDir()
,但在其他类中,您需要使用Context
调用它。
像:
getActivity().getExternalFilesDir(null)
在课程中
context.getExternalFilesDir(null)
,您将Context
作为参数传递
YourActivity.this.getExternalFilesDir(null);