무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유),
불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!
1. 안드로이드 저장소
•
안드로이드는 애플리케이션이 데이터를 저장할 수 있는 저장소를 두 가지로 제공하고 있다.
•
내부 저장소 : 애플리케이션을 통해서만 접근이 가능하다.
•
외부 저장소 : 단말기 내부의 공유 영역으로 모든 애플리케이션이 접근 가능하다. 단말기를 컴퓨터에 연결하면 탐색기를 통해 접근할 수 있는 영역을 의미한다.
2. 파일 입출력
•
내부 저장소 : openFileOutput, openFileInput
•
외부 저장소 : FileInputStream, FileOutputStream
3. 안드로이드 10의 외부 저장소
•
외부 저장소에 저장된 파일은 모든 애플리케이션이 자유롭게 접근할 수 있어 보안에 문제가 되었다.
•
이에 안드로이드 10에서는 외부 저장소에 제한을 두어 보안을 강화하게 되었다.
•
안드로이드 10에서는 외부 저장소의 정책을 무력화 할 수 있는 옵션이 있었으니 11부터는 이 옵션이 제거되어 외부 저장소의 자유로운 접근은 불가능하게 되었다.
•
이러한 외부 저장소를 Scoped Storage 정책이라 부른다.
4. Scoped Storage 정책
•
Scoped Storage는 다음과 같은 형태로 구성된다.
•
앱 데이터 폴더 : 읽고 쓰는데 권한이 필요가 없으며 해당 애플리이션만 접근이 가능하다. 애플리케이션 삭제 시 폴더도 같이 삭제된다.
•
미디어 파일들 : 사진, 동영상, 음원파일들을 저장하는 장소이다.
•
공용 파일들 : Downloads 폴더. 이 폴더에 저장된 파일은 모든 애플리케이션이 접근할 수 있다. 단, 코드를 통한 직접 접근은 불가능하고 단말기에 설치된 파일 관리 어플을 통해서만 접근이 가능하다. 즉, 파일 관리 어플을 실행해 사용자가 직접 파일을 선택해줘야 가능하다.
5. 학습 정리
정리
•
안드로이드는 외부 저장소와 내부 저장소를 제공하고 있다.
•
외부 저장소 및 내부 저장소 모두 파일 입출력이 가능하다.