READ_EXTERNAL_STORAGE 권한과 WRITE_EXTERNAL_STORAGE 권한의 차이는 무엇인가요?
_____A: READ_EXTERNAL_STORAGE 권한은 앱이 외부 저장소(예: SD 카드, 공용 저장 공간)에 저장된 파일을 읽을 수 있도록 허용합니다. 즉, 사용자가 외부 저장소에 저장한 사진, 동영상, 문서 등을 앱이 접근하여 읽을 수 있게 만드는 권한입니다.
반면, WRITE_EXTERNAL_STORAGE 권한은 앱이 외부 저장소에 파일을 새로 생성하거나 수정, 삭제할 수 있도록 허용하는 권한입니다. 즉, 앱이 외부 저장소의 데이터를 변경하거나 추가할 수 있는 권한입니다.
- READ_EXTERNAL_STORAGE : 외부 저장소의 파일 읽기 권한
- WRITE_EXTERNAL_STORAGE : 외부 저장소의 파일 쓰기(생성, 수정, 삭제) 권한
또한, Android 10(Q)부터는 저장소 접근 방식이 변경되어 Scoped Storage가 도입되었으며, WRITE_EXTERNAL_STORAGE 권한의 사용이 제한되고, MediaStore API나 앱 전용 저장 공간 사용을 권장하고 있습니다.
따라서 최신 안드로이드 버전에서는 두 권한의 사용과 역할이 일부 달라질 수 있으니 해당 버전별 가이드라인을 참고하는 것이 좋습니다.
이 두 권한은 사용자가 기기의 외부 저장소에 있는 파일에 대해 어떤 작업을 수행할 수 있는지를 결정합니다.
아래에서 각각의 권한에 대해 자세히 설명하겠습니다.
1. READ_EXTERNAL_STORAGE `READ_EXTERNAL_STORAGE` 권한은 애플리케이션이 외부 저장소에 있는 파일을 읽을 수 있도록 허용합니다.
외부 저장소는 일반적으로 SD 카드나 내부 저장소의 공개 디렉토리를 포함하며, 사용자가 다른 애플리케이션과 공유할 수 있는 파일들이 저장됩니다.
이 권한을 요청하는 애플리케이션은 다음과 같은 작업을 수행할 수 있습니다: - 이미지, 비디오, 오디오 파일 등 다양한 미디어 파일을 읽고 표시할 수 있습니다.
- 텍스트 파일이나 문서 파일을 열어 내용을 읽을 수 있습니다.
- 사용자가 선택한 파일을 가져와서 처리할 수 있습니다.
이 권한은 사용자가 애플리케이션이 외부 저장소의 파일을 읽는 것을 허용하는 것이므로, 사용자의 개인 정보나 데이터 보호를 위해 신중하게 요청해야 합니다.
2. WRITE_EXTERNAL_STORAGE `WRITE_EXTERNAL_STORAGE` 권한은 애플리케이션이 외부 저장소에 파일을 쓸 수 있도록 허용합니다.
이 권한을 가진 애플리케이션은 다음과 같은 작업을 수행할 수 있습니다: - 새로운 파일을 생성하고 외부 저장소에 저장할 수 있습니다.
- 기존 파일을 수정하거나 삭제할 수 있습니다.
- 사용자가 생성한 데이터나 애플리케이션의 데이터를 외부 저장소에 저장하여 다른 애플리케이션과 공유할 수 있습니다.
이 권한은 사용자의 데이터에 대한 쓰기 권한을 부여하므로, 애플리케이션이 데이터를 손상시키거나 삭제할 수 있는 위험이 있습니다.
따라서 이 권한도 신중하게 요청해야 하며, 사용자에게 명확한 이유를 설명하는 것이 중요합니다.
차이점 요약 - READ_EXTERNAL_STORAGE : 외부 저장소의 파일을 읽기만 할 수 있는 권한입니다.
파일을 열고 내용을 확인하는 등의 작업이 가능합니다.
- WRITE_EXTERNAL_STORAGE : 외부 저장소에 파일을 생성, 수정, 삭제할 수 있는 권한입니다.
데이터의 변경이 가능하므로 더 높은 수준의 권한입니다.
Android 10 이상에서의 변화 Android 10(Q)부터는 외부 저장소에 대한 접근 방식이 변경되었습니다.
Scoped Storage라는 새로운 모델이 도입되어 애플리케이션이 외부 저장소에 접근하는 방식이 제한되었습니다.
이로 인해 애플리케이션은 기본적으로 자신의 전용 디렉토리에만 접근할 수 있으며, 다른 애플리케이션의 파일에 접근하기 위해서는 사용자에게 명시적으로 선택하도록 요구해야 합니다.
이 변화는 사용자 데이터의 보안을 강화하고, 애플리케이션 간의 데이터 접근을 보다 안전하게 관리하기 위한 것입니다.
결론 `READ_EXTERNAL_STORAGE`와 `WRITE_EXTERNAL_STORAGE` 권한은 Android 애플리케이션이 외부 저장소에 접근하는 데 필수적인 요소입니다.
각각의 권한은 서로 다른 작업을 수행할 수 있도록 허용하며, 사용자 데이터 보호를 위해 신중하게 요청하고 관리해야 합니다.
Android의 권한 모델은 지속적으로 발전하고 있으며, 개발자는 이러한 변화에 적응하여 사용자에게 더 나은 경험을 제공해야 합니다.
작성자:
이주안 [비회원]
| 작성일자: 1년 전
2024-11-21 20:02:26
조회수: 199 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 199 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.