Java/Android

71_안드로이드 기기 저장공간 가져오기

우오우어아오앙 2017. 7. 7. 10:10
728x90

안드로이드 기기 저장공간 가져오기



  • 전체 공간 가져오기

@SuppressWarnings("deprecation")
public static String getTotalInternalMemorySize() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return formatSize(totalBlocks * blockSize);
}



  • 사용 가능 공간 가져오기

public static boolean externalMemoryAvailable() {
return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
}

@SuppressWarnings("deprecation")
public static String getAvailableExternalMemorySize() {
if (externalMemoryAvailable()) {
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return formatSize(availableBlocks * blockSize);
} else {
return null;
}
}


public static String formatSize(long size) {
String suffix = null;

if (size >= 1024) {
suffix = " KB";
size /= 1024;
if (size >= 1024) {
suffix = " MB";
size /= 1024;
}
}

StringBuilder resultBuffer = new StringBuilder(Long.toString(size));

int commaOffset = resultBuffer.length() - 3;
while (commaOffset > 0) {
resultBuffer.insert(commaOffset, ',');
commaOffset -= 3;
}

if (suffix != null) resultBuffer.append(suffix);
return resultBuffer.toString();
}


728x90
반응형

'Java > Android' 카테고리의 다른 글

77_안드로이드 스튜디오 단축키  (0) 2017.09.29
74_Android Error  (0) 2017.09.16
70_안드로이드 랜덤 비밀번호 생성  (0) 2017.07.06
69_Button이 대문자로 나올 때  (0) 2017.06.22
68_안드로이드 strings.xml 변수 설정  (0) 2017.06.21