・まずは、全容量を取得する。
public static int getTotalMem(File item) {
int size = 0;
try {
StatFs fs = new StatFs(item.getAbsolutePath());
size = fs.getBlockSize() * fs.getBlockCount();
} catch (IllegalArgumentException e) {
Logger.error("can't get size.", e);
}
return size;
}
本体なら、
public static int getInternalTotalMem() {
return getTotalMem(Environment.getDataDirectory());
}
SDカードなら、
public static int getExternalTotalMem() {
return getTotalMem(Environment.getExternalStorageDirectory());
}
※SDカードの場合は、利用可能かちゃんとチェックしてから実行する必要あり!・次に空き容量を取得する。
public static int getUsableMem(File item) {
int size = 0;
try {
StatFs fs = new StatFs(item.getAbsolutePath());
size = fs.getBlockSize() * fs.getAvailableBlocks();
} catch (IllegalArgumentException e) {
if (Logger.isErrorable()) {
Logger.error("can't get size.", e);
}
}
return size;
}
本体なら、
public static int getInternalUseableMem() {
return getUsableMem(Environment.getDataDirectory());
}
SDカードなら、
public static int getExternalUseableMem() {
return getUsableMem(Environment.getExternalStorageDirectory());
}
以上。
0 件のコメント:
コメントを投稿