안드로이드

ScopeStorage 저장공간에 대한 정의

코딩하는후운 2022. 11. 14. 16:40
반응형

ScopeStorage 저장공간 정의

안드로이드의 저장소는 크게 내부 저장소(Internal Storage)와 외부 저장소(External Storage)로 나뉩니다.
내부 저장소는 /data/ 아래 경로의 파일들을 의미하고, 외부저장소는 /storage/ 아래 경로의 파일들을 의미합니다.

  1. [내부저장소(Scoped 영향 X)] (내부-앱)
    가장 기본적으로 /data/data와 /data/user/0 폴더가 존재한다. /data/user/0은 /data/data의 soft-link에 해당한다고 한다.
    참조 : 참조링크
    내부저장소 file 접근 방법 : getFilesDir().getPath()

  2. [Q 이전 외부저장소] (외부-ROOT)
    -/sdcard(루트경로)/, /storage/ 에 자유롭게 마구잡이로 접근/저장하는 경우 많았음
    접근 방법 :
    @Deprecated
    getExternalStorageDirectory()

  3. [Q 이후 외부저장소(앱 고유 영역)] (외부-앱)
    /storage/emulated/0/Android/data/앱Package/
    (앱 삭제시 함께 삭제O, 보존하고 싶으면 manifest에 allowbackup true 설정 혹은 파일 생성할떼 메타데이터 추가필요)
    접근방법 : getExternalFilesDir()

  4. [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 외부저장소 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