[android]SDカードの容量をチェック

hidaka

2009/12/04

TAG
android, SD

 先週OpenHomeのスクリーンショットを上げておきながら今はGDEを試しているhidakaです。

今回はSDカード関係のお話。StatFsクラスを使います。
File file = Environment.getExternalStorageDirectory();
StatFs statFs = new StatFs(file.getAbsolutePath());
double tmpd = statFs.getFreeBlocks() / statFs.getAvailableBlocks();
//アプリが使用可能なブロック数
Log.i("statFs", ":"+statFs.getAvailableBlocks());
//総ブロック数
Log.i("statFs", ":"+statFs.getBlockCount());
//1ブロックのバイト数
Log.i("statFs", ":"+statFs.getBlockSize());
//空いている使用可能なブロック数(通常はgetAvailableBlocksと同じ?)
Log.i("statFs", ":"+statFs.getFreeBlocks());

まずはEnvironment.getExternalStorageDirectory()でSDカードのパスを取得。
通常は/sdcard/ですが念のため。
StatFsクラスは絶対パスをつけてnewします。
あとは各メソッドで取得。getBlockCount× getBlockSizeがSDカードのサイズになります。

 

コメントを投稿する

トラックバック (0)

トラックバックURL: http://kiteretsu.kayac.com/cgi-bin/mt-tb.cgi/52