- 2007-12-05 23:03
- android
Androidは外部メディアとしてSDカードが使えるようになっています。
今回はSDカードの使い方をご紹介します。
まずはターミナルでコマンドを打ってAndroidのエミュレータで利用できる仮想的なSDカードを作ります。
これでmycardというFAT32フォーマットのディスクイメージが出来上がります。(少し時間がかかります)
2048Mとはイメージの大きさです。これ以外の大きさではエミュレータ起動時にエラーで落ちます(原因不明です…)。
ちなみにエミュレータがサポートしているディスクイメージは2GB(2048M)までです。
ターミナルからコマンドでエミュレータを起動する場合は
とします。
-sdcardというオプションの後に先ほど作ったディスクイメージのパスを渡します。
パスは相対でも絶対でも良いようです。
SDカードをセットした状態でエミュレータを起動すると、プログラムからSDカードへの入出力が可能になります。
ではさっそく。
String FILE = "/sdcard/test.txt"; try { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(FILE, true), "UTF-8")); bw.write("this is android\n"); bw.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
見ての通り、SDカードをセットして起動するとSDカードのファイルシステムは/sdcardにマウントされます。ですので、その下のファイルに対して入出力する事ができます。このプログラムを起動すると「/sdcard/test.txt」に「this is android」という文字列が書き込まれます。
確認方法はAndroidのマイクロカーネル上で可能です。
#cat /sdcard/test.txt
this is android
#
他にもloopデバイスとしてマウントして利用する事もできるようです。→参考
(Macでlosetupコマンドが見つからないので試していません…)
AndroidでSDカードを利用するのはとても簡単でした。SDカードをセットしてエミュレータを起動するときのエラーはよくわかりませんが…。原因が分かる人教えて下さい。
- Newer: Androidで地図に画像を配置する方法
- Older: AndroidでGPSを使って現在地を取得する方法
Comments:2
- NeoCat 08-06-24 (火) 3:54
-
今更ですが、MacならSDカードのイメージに拡張子.imgをつけてダブルクリック(もしくはopenコマンド)でマウントできまっせ。
- adamrocker 08-06-24 (火) 7:23
-
おぉ!初コメントありがとう!そして情報ありがとう。
openコマンドでもイメージ開けるのはしらなかった。
Trackbacks:0
- Trackback URL for this entry
- http://www.adamrocker.com/blog/170/use_sdcard_on_android.html/trackback/
- Listed below are links to weblogs that reference
- AndroidでSDカードを利用する方法 from throw Life
