- エミュレータでは必要ありませんが、実機でSDカードを使用する場合は以下のコードを AndroidManifest.xml に記述します。この記述がないと例えばファイル書き込みをした際に FileNotFoundException がthrowされます。権限がないのです。
- あとは普通にファイル入出力するだけです。以下はファイル書き込みのサンプルです。注意点はSDカードのパスです。パスは /sdcard/ です。
- 作成されたか DDMS の File Explorer で見てみましょう。getPackageName()でパッケージ名をディレクトリ名に指定しているので、サンプルでは sdcard/com.kitsugim/sample.txt となっています。
- ファイルは出来ているようなので、最後にちゃんと書き込みが出来ているかの確認です。同じくDDMS の FileExplorer からファイルをPCに保存できるので、保存してからテキストエディタで開いてみます。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import android.app.Activity;
private void save() throws IOException {
String fileName = "/sdcard/" + getPackageName() + "/sample.txt";
File file = new File(fileName);
file.getParentFile().mkdir();
FileOutputStream fos = new FileOutputStream(file, true);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
bw.write("ファイル書き込みテスト");
bw.flush();
bw.close();
}
はい、ちゃんと書き込みもできてます。


AndroidのSDカードを管理する方法:http://goo.gl/cywF4H
返信削除ここで一緒に共有します。