2012-04-25 10 views
0

ファイルを編集テキストから除外してファイルを保存してからロードします。エミュレータでのファイルの保存と読み込み

これはどういうわけかできません。私は、格納されたファイルが見つからないか、(ログに応じて)保存されていないと思います。

これを修正するにはどうすればよいですか?ここで

コード保存です:ロード用

Log.i("Watcher","Saving..."); 
ProgressDialog dSave = ProgressDialog.show(this, "Saving", "SAving. Please wait...",false);    
String fName = "WatchConf"; 
EditText servPath = (EditText)findViewById(R.id.ServerPath); 
String sServPath = servPath.getText().toString(); 

try { 
    FileOutputStream fos = openFileOutput(fName, Context.MODE_PRIVATE); 
     fos.write(sServPath.getBytes()); 
     fos.flush(); 
     fos.close(); 
     Log.d("Watcher","Saved"); 

     File fCheck = new File(getFilesDir()+fName); 
     if(fCheck.exists()){ 
      Log.i("Watcher","Saved successfully"); 
     } 

コード:私は、それが働いていなかった理由だった

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
+0

ログ文にsServPathを印刷して、必要なテキストが表示されていることを確認してください。ビューが無効な場合があります。 –

+0

ビューが正常で、正しいテキストが出力されます – ctekk

+0

ok fCheckファイルのパスとfNameの間に "/"がないことを忘れました。それでも、上に追加したコード(NPE)でファイルにロードされません – ctekk

答えて

1

書かれています文字列をあま​​りにもすぐにビューにロードしようとしました。

setContentView(R.layout.main);の後に読み込んで問題を解決しました。

+0

私は外部記憶装置を書いていませんか?コンテキストモードは非公開ですが、今すぐ試してみます – ctekk

0

をすることを:あなたは

Log.i("Watcher","Loading..."); 
     String fName = "WatchConf"; 
     EditText servPath = (EditText)findViewById(R.id.ServerPath); 

     try {   
      InputStreamReader isr = new InputStreamReader(openFileInput(getFilesDir()+"/"+fName)); 
      char[] cRead = new char[100]; 
      isr.read(cRead); 
      String sRead = new String(cRead); 
      servPath.setText(sRead); 
      isr.close(); 
      Log.i("Watcher","Loaded"); 
関連する問題