MODE_PRIVATE不能解析为openFileOutput中的变量



我正在尝试保存html文件。我有一个类扩展了AsyncTask

public class DownloadBook extends AsyncTask<String, Void, String> {

在这个类中,我有这个方法:

private void writeFile(String result, String title) throws FileNotFoundException {
        FileOutputStream fos = openFileOutput(title+".html", MODE_PRIVATE);
        PrintWriter pw = new PrintWriter(new BufferedWriter(
                new OutputStreamWriter(fos)));
        pw.print(result);
        pw.close();
    }

MODE_PRIVATE给出以下错误:

MODE_PRIVATE不能解析为变量

然后我把它改成了Context.MODE_PRIVATE。现在openFileOutput给出了这个错误:

方法openFileOutput(String, int)是未定义的类型DownloadBook

如何解决这个问题?

使用活动或应用程序上下文从DownloadBook类调用openFileOutput方法:

FileOutputStream fos = 
   getApplicationContext().openFileOutput( title+".html", Context.MODE_PRIVATE);

如果DownloadBook是单独的java类,然后使用类构造函数获取活动上下文调用openFileOutput方法:

public class DownloadBook extends AsyncTask<String, Void, String> {
private Context context;
  public DownloadBook(Context context){
   this.context=context;
  }
}

现在使用context调用openFileOutput方法:

FileOutputStream fos = 
   context.openFileOutput( title+".html", Context.MODE_PRIVATE);

从Activity传递上下文到DownloadBook类构造函数:

DownloadBook obj_Downloadbook=new DownloadBook(getApplicationContext());

相关内容

  • 没有找到相关文章

最新更新