Android说无法解析方法'getExternalFilesDir(null)'

时间:2016-01-06 17:20:23

标签: java android file android-studio

我正在使用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();
    }
}

我无法找到任何方法来摆脱这个错误。提前感谢您解决问题的方法。

1 个答案:

答案 0 :(得分:17)

getExternalFilesDir()是需要Context的方法。在Activity类中,您只需要调用getExternalFilesDir(),但在其他类中,您需要使用Context调用它。

像:

    片段

    中的
  • getActivity().getExternalFilesDir(null) 在课程中

  • context.getExternalFilesDir(null),您将Context作为参数传递

  • 在活动的内部类中调用
  • YourActivity.this.getExternalFilesDir(null);