我正在写一个Android库,想写到asset / myfile.txt。进行一些读取后,似乎资产在运行时是只读的。因此,我决定尝试通过openFileOutput(“ myfile.txt”,Context.MODE_PRIVATE);写入内部存储。

这里的问题是找不到openFileOutput()。我已经使用向导在Eclipse中创建了一个库。在我的项目中,我具有以下接口和类。

public interface MyClass {
  public void writeToFile(String key, String value) throws IOException;
}

public class MyClassImpl {
  @Override
  public void writeToFile(String key, String value) throws IOException {
    OutputStreamWriter output = new OutputStreamWriter(openFileOutput("myfile.txt", Context.MODE_PRIVATE));
    // ...REST OF METHOD TO WRITE TO THIS FILE...
  }
}


我的目标是最新的API,当我在Eclipse中编写上述代码时,出现以下错误


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


我是否需要在此处扩展某些类以在我的接口/类中实现openFileOutput()?

最佳答案

这里的问题是找不到openFileOutput()


openFileOutput() is a method on Context。例如,您的ActivityContext的子类。


我是否需要在此处扩展某些类以在我的接口/类中实现openFileOutput()?


您需要在openFileOutput()的有效实例(例如Context)上调用Activity。例如,您可以将其作为参数传递到writeToFile()方法中。

10-06 12:58