Android/Kotlin
[Kotlin] 이미지 다운로드받기 - ByteArray Image Download
eulBlue
2023. 11. 29. 19:05
📱테스트 환경
Samsung Galaxy Android 13 • Android 10
이미지를 저장하는 방식을 간단히 알아보도록 하자.
01.ImageDownLoad.kt 생성
if (imageData != null) {
// 외부 저장소에 바이트 배열을 파일로 저장
val fileName = "downloaded_image.jpg"
val file = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), fileName)
FileOutputStream(file).use { fileOutputStream ->
fileOutputStream.write(imageData)
}
// 갤러리에 이미지 추가
val mediaScanIntent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)
val contentUri = Uri.fromFile(file)
mediaScanIntent.data = contentUri
context.sendBroadcast(mediaScanIntent)
} else {
// 이미지 데이터가 null인 경우 처리
Log.e("error", "Image data is null.")
}
- imageData != null → Null 체크 먼저 해준다음
- File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), fileName) → 외부 디렉토리인 Pictures 에 파일을 생성해준다.
- FileOutputStream 생성 → 스트림을 사용하여 imageData 데이터 그려준다.
- Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE) → 미디어 스캐닝을 위한 인텐트를 생성한다.
- Uri.fromFile(file) → 파일로부터 contentUri를 생성해준다.
- context.sendBroadcast(mediaScanIntent) → 미디어 스캔을 요청하는 브로드캐스트를 보내주면 끝난다.