- エミュレータでは必要ありませんが、実機で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
返信削除ここで一緒に共有します。