EditTxetに入力した文字、数字をSDカードに保存するコードについてのご質問です。
以下のコードで進めています。実機でボタンを押しても保存されません。
原因がわかりません。
DDSMで確認しても保存されていませんでした。
ご教授お願いします。
Java
1 2Button buttonSave = (Button)findViewById(R.id.ButtonSave); 3buttonSave.setOnClickListener(new OnClickListener(){ 4 @Override 5 public void onClick(View arg0) { 6 String filePath = Environment.getExternalStorageDirectory() + "/memo.txt"; 7 File file = new File(filePath); 8 file.getParentFile().mkdir(); 9 10 FileOutputStream fos; 11 try { 12 fos = new FileOutputStream(file, true); 13 OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); 14 BufferedWriter bw = new BufferedWriter(osw); 15 String str = ((EditText) findViewById(R.id.EditTextInput)).getText().toString(); 16 bw.write(str); 17 bw.flush(); 18 bw.close(); 19 } catch (Exception e) { 20 } 21 }; 22});
質問のタイトルは「SDカードへの保存」となっていますが、市販端末ではEnvironment.getExternalStorageDirectory()で得られるパスはeMMCのような端末内蔵のストレージを指すように作られています。ですからこのコードに基づいてもSDカードに保存することは決してできないのですが、「内蔵ストレージでも保存できれば良い」のか、「SDカードに保存することが必要条件」なのか、明確にしていただけないでしょうか。
また、ソースコードはそれ専用のマークアップで囲ってください。質問フォームの<code>というボタンを押すと、```(バッククォート)が3つ連なった2行と、その間に「コード」と記された行が出てくるはずです。その「コード」の部分にJavaコードを記述し、「ここに言語を入力」という部分を「Java」に書き換えてください。プレビュー画面を見て装飾がかかったことを確認して投稿してください。(追記)なお、質問文は編集することができますので、新規に投稿し直す必要はありません。
SDカードに保存することが必要条件となっています。
回答1件
あなたの回答
tips
プレビュー