0

このコードに出くわしたとき、Google からのファイルの保存に関するAndroidチュートリアルに従っていました。

String filename = "myfile";
String string = "Hello world!";
FileOutputStream outputStream;

try {
  outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
  outputStream.write(string.getBytes());
  outputStream.close();
} catch (Exception e) {
  e.printStackTrace();
}

「openFileOutput」は「未定義」というエラーを出すので、作成しました

Context fileContext;

同じ方法ですが、初期化する必要があるというエラーが表示されます。どのように初期化すればよいですか?または、クラスで宣言する必要があります。メソッドから取り出してクラスで宣言すると、エラーが発生しないためです。

私のコード:

public class DataManager
{
private static DataManager _instance;
private Context fileContext;
public String[] arraySentences;

private DataManager()
{}

public static DataManager getInstance()
{
    if (_instance == null)
    {
        _instance = new DataManager();
    }

    return _instance;
}

public void saveSentences(String jsonData)
{
    String filename = "myfile";
    FileOutputStream outputStream;

    try
    {
        outputStream = fileContext.openFileOutput(filename, Context.MODE_PRIVATE);
        outputStream.write(jsonData.getBytes());
        outputStream.close();
    } 
    catch (Exception e)
    {
        e.printStackTrace();
    }
}
}
4

2 に答える 2

1

このようにしてみてください..

public void createFile(Context c) throws IOException{
     String FILENAME = timeStamp();
     String string = "hello world!";

     FileOutputStream fos = c.openFileOutput(FILENAME, Context.MODE_PRIVATE);
    fos.write(string.getBytes());
    fos.close();


}

上記の方法を呼び出す

createFile(myActivity.this);
于 2013-04-16T12:33:46.513 に答える
0

このメソッドは、Activity などの Context を拡張するクラス内で宣言すると想定されるため、追加の Context オブジェクトを宣言せずに呼び出すことができます。

よろしく。

于 2013-04-16T11:13:52.950 に答える