Galaxy Sで外部SD(マイクロSD)をアクセする場合
NexusOneやXperiaでマイクロSDのファイルへの読み書きをする場合は.
File directory = Environment.getExternalStorageDirectory(); String filepath = directory.getAbsolutePath() + "/hoge";
とか書いてマイクロSDのルートにhogeを置けば良かったのだけど,GalaxySは内部ストレージがあるらしく,パスが変わる.
$ df /dev: 154668K total, 0K used, 154668K available (block size 4096) /mnt/.lfs: Function not implemented /mnt/asec: 154668K total, 0K used, 154668K available (block size 4096) /system: 292608K total, 279028K used, 13580K available (block size 4096) /data: 1963952K total, 70704K used, 1893248K available (block size 16384) /dbdata: 116456K total, 1544K used, 114912K available (block size 4096) /cache: 30792K total, 16K used, 30776K available (block size 4096) /efs: 4114K total, 1057K used, 3057K available (block size 1024) /mnt/sdcard: 13377920K total, 26560K used, 13351360K available (block size 32768) /mnt/sdcard/external_sd: 989936K total, 96K used, 989840K available (block size 16384)
なので,
File directory = Environment.getExternalStorageDirectory(); String filepath = directory.getAbsolutePath() + "/external_sd/hoge";
とかにする必要がある.ちょいと不便だな.