2012-02-27 18 views
0

現在、アプリ内の複数のアクティビティクラスから1つのファイルにメッセージを保存しています。各アクティビティクラスは同じ関数WriteToFileを持ちます。Android、継承を使用してファイルに書き込む

public void WriteToFile(String info) { 

    FileOutputStream FoutS = null; 
    OutputStreamWriter outSW = null; 

    try { 

     FoutS = openFileOutput("file.txt", MODE_PRIVATE); 
     outSW = new OutputStreamWriter(FoutS); 
     outSW.write(info); 
     outSW.flush(); 
    } 

    catch (Exception e) { 
    } 

    finally { 
     try { 
      outSW.close(); 
      FoutS.close(); 
     } catch (IOException e) { 
     } 
    } 
} 

私は、この関数の書き込みを保持している別のクラスを作成します(読み)ファイルにしようとしてきたが、私はエラーを取得せずにできていません。

私はそれが正しいことを私が正しくコンテキストを渡していた場合

//Changes to this line 
public void WriteToFile(String info, Context context) { 

    FileOutputStream FoutS = null; 
    OutputStreamWriter outSW = null; 

    try { 
         //Changes to this line 
     FoutS = context.openFileOutput("file.txt", MODE_PRIVATE); 
     outSW = new OutputStreamWriter(FoutS); 
     outSW.write(info); 
     outSW.flush(); 
    } 

    catch (Exception e) { 
    } 

    finally { 
     try { 
      outSW.close(); 
      FoutS.close(); 
     } catch (IOException e) { 
     } 
    } 
} 

...機能はWRITETOFILEボイドのように通過したコンテキストを持つ必要があると思いますか?

String msg = "This is a message"; 

WriteToFile(msg, this); 

私は間違ったことをしています。

+0

スタックトレースをポストできたら、それが役立つでしょう(例外を確実にスタックにスローするためにcatchステートメントを削除することができます)。 – tomtheguvnor

答えて

0

あなたが意味を持たない、またはあなたが何を意味するかから遠くに書いたもの

context.openFileOutput("file.txt", context.MODE_PRIVATE); 

メソッドを呼び出すために、あなたのコンテキストを使用する必要があります。

関連する問題