반응형
ScopeStorage 저장공간 정의
안드로이드의 저장소는 크게 내부 저장소(Internal Storage)와 외부 저장소(External Storage)로 나뉩니다.
내부 저장소는 /data/ 아래 경로의 파일들을 의미하고, 외부저장소는 /storage/ 아래 경로의 파일들을 의미합니다.
- [내부저장소(Scoped 영향 X)] (내부-앱)
가장 기본적으로 /data/data와 /data/user/0 폴더가 존재한다. /data/user/0은 /data/data의 soft-link에 해당한다고 한다.
참조 : 참조링크
내부저장소 file 접근 방법 : getFilesDir().getPath() - [Q 이전 외부저장소] (
외부-ROOT)
-/sdcard(루트경로)/, /storage/ 에 자유롭게 마구잡이로 접근/저장하는 경우 많았음
접근 방법 :
@Deprecated
getExternalStorageDirectory() - [Q 이후 외부저장소(앱 고유 영역)] (외부-앱)
/storage/emulated/0/Android/data/앱Package/
(앱 삭제시 함께 삭제O, 보존하고 싶으면 manifest에 allowbackup true 설정 혹은 파일 생성할떼 메타데이터 추가필요)
접근방법 : getExternalFilesDir() - [Q이후 외부저장소(앱 공용 영역: 사진 및 동영상 , 음악 , 다운로드)] (외부-공용)
/storage/emulated/0/Pictures,Download.../
(앱 삭제시 함께 삭제 X, MediaStore, SAF[Storage Access Framework] 로만 접근 가능)
저장소 명칭 정의
명칭 | 상세 | 예시 경로 | 비고 |
내부-앱 | 앱(패키지명 별) 고유 내부 저장소 (노출 X) | /data/user/0/앱패키지명/files | getFilesDir().getPath() |
외부-앱 | 앱(패키지명 별) 고유 외부 저장소 (노출 O) | /storage/emulated/0/Android/data/앱패키지명/files | getExternalFilesDir(null).getPath() |
외부-공용 | 외부저장소 Root / [일부 폴더] | /storage/emulated/0/ [DCIM, Download, Pictures] /storage/emulated/0/DCIM /storage/emulated/0/Download /storage/emulated/0/Pictures |
|
외부저장소 Root TargetSdk30 적용시, 더이상 접근할 수 없음 |
/storage/emulated/0/ | @Deprecated getExternalStorageDirectory() |
반응형
'안드로이드' 카테고리의 다른 글
[Android] 통화관련 블루투스 Audio (Audio Control) (0) | 2023.01.06 |
---|---|
Google Cloud Speech (STT) 설정 (0) | 2022.11.24 |
Bitrise-android (0) | 2022.11.14 |
Compose 훑어보기 (0) | 2022.11.10 |
STT관련 라이브러리 API정보 (0) | 2022.11.09 |