SDカードにテキストボックス内のテキストを「.txt」形式にて保存する方法です。
まずはファイルパスの設定を行います。
// SDのパス設定
String filePath = Environment.getExternalStorageDirectory().getPath() + "/" + SD_FOLDER + "/" + SD_FILE ;
// 時刻取得
Calendar calendar = Calendar.getInstance();
// yyyyMMddhhmmssファイル名.txtになるようにする
filePath = filePath + calendar.get(Calendar.YEAR) + (calendar.get(Calendar.MONTH) + 1) + calendar.get(Calendar.DAY_OF_MONTH) + "_"
+ calendar.get(Calendar.HOUR_OF_DAY) + calendar.get(Calendar.MINUTE) + calendar.get(Calendar.SECOND) + FILE_TYPE;
// ファイル生成
File file = new File(filePath);
// ディレクトリ生成
file.getParentFile().mkdir();
そうそう、SDカードを使用するにはパーミッションが必要です。
以下のコードをAndroidmanifest.xmlに追記してください。
そしていよいよ書き込み。
FileOutputStream outputstream;
try {
outputstream = new FileOutputStream(file, true);
OutputStreamWriter streamWriter = new OutputStreamWriter(outputstream, "UTF-8");
BufferedWriter bufferedWriter = new BufferedWriter(streamWriter);
String writeText = ((EditText) findViewById(R.id.inputText)).getText().toString();
// 書き込み
bufferedWriter.write(writeText);
bufferedWriter.flush();
bufferedWriter.close();
Toast.makeText(this, filePath.toString() + " に保存しました。", Toast.LENGTH_LONG).show();
} catch (Exception e) {
// 書き込み失敗などの例外
Toast.makeText(this, "書き込み失敗", Toast.LENGTH_LONG).show();
}
画面にすると地味ですが、こんな感じになります。

0 件のコメント:
コメントを投稿