Notice
Recent Posts
Recent Comments
Link
투케이2K
410. (kotlin/코틀린) [유틸 파일] getInternalAvailableStorageSpace : 내부 저장소 사용 가능한 용량 크기 구하기 - StatFs 본문
Kotlin
410. (kotlin/코틀린) [유틸 파일] getInternalAvailableStorageSpace : 내부 저장소 사용 가능한 용량 크기 구하기 - StatFs
투케이2K 2023. 9. 7. 22:33[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getInternalAvailableStorageSpace : 내부 저장소 사용 가능한 용량 크기 구하기
// -----------------------------------------------------------------------------------------
fun getInternalAvailableStorageSpace(mContext: Context): String {
/**
* // -----------------------------------------
* [getInternalAvailableStorageSpace 메소드 설명]
* // -----------------------------------------
* 1. 내부 저장소 사용 가능한 용량 크기 구하기
* // -----------------------------------------
* 2. 호출 방식 :
*
* C_App.getInternalAvailableStorageSpace(A_Intro@this)
*
* // -----------------------------------------
* 3. 리턴 데이터 : 1 (GB)
* // -----------------------------------------
* 4. 추가 설명 :
*
* - StatFs 는 file System 의 정보를 전달해주는 클래스입니다
* // -----------------------------------------
*/
// [리턴 값 선언]
var returnData = ""
var kilobyte = 0.0
var megabyte = 0.0
var gigabyte = 0.0
// [로직 처리 실시]
try {
val stat = StatFs(Environment.getDataDirectory().path)
val byteSize = stat.availableBytes // [사용 가능 용량 확인 byte]
if (byteSize > 0) {
kilobyte = (byteSize / 1024).toDouble() // [파일 kilobyte 크기]
megabyte = kilobyte / 1024 // [파일 megabyte 크기]
gigabyte = megabyte / 1024 // [파일 gigabyte 크기]
returnData = if (gigabyte > 0) {
String.format("%.2f", gigabyte) + " (GB)" // 소수점 2자리 까지만 출력
} else if (megabyte > 0) {
String.format("%.2f", megabyte) + " (MB)" // 소수점 2자리 까지만 출력
} else if (kilobyte > 0) {
String.format("%.2f", kilobyte) + " (KB)" // 소수점 2자리 까지만 출력
} else {
String.format("%.2f", byteSize) + " (Byte)" // 소수점 2자리 까지만 출력
}
} else {
returnData = "0 (Byte)"
}
} catch (e: Exception) {
S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
}
// [로그 출력 실시]
///*
// ===============================================================
S_Log._D_("내부 저장소 사용 가능한 용량 크기 확인", arrayOf(
"RETURN :: $returnData"
))
// ===============================================================
// */
// [리턴 반환 실시]
return returnData
}
반응형
'Kotlin' 카테고리의 다른 글
Comments