데이터 및 파일 저장소 개요
Android는 다른 플랫폼의 디스크 기반 파일 시스템과 유사한 파일 시스템을 사용한다.
안드로이드 시스템에서 제공되는 앱 데이터 저장 옵션
- 앱별 저장소 : 내부 저장소 볼륨 내의 전용 디렉터리 또는 외부 저장소 내의 다른 전용 디렉터리에 앱 전용으로 사용되는 파일을 저장 한다. 다른 앱이 엑세스해서는 안 되는 민감한 정보는 내부 저장소 내의 디렉터리에 저장한다.
- 공유 저장소 : 미디어, 문서, 기타 파일을 비롯하여 앱이 다른 앱과 공유해야 하는 파일을 저장한다.
- 환경설정 : 비공개 Primitive Data를 키-값 쌍으로 저장한다.
- 데이터베이스 : Room 지속성 라이브러리를 사용하여 구조화된 데이터를 비공개 데이터베이스에 저장한다.
위 앱 데이터 저장옵션은 아래와 같은 특정 요구에 따라 달라진다.
- 데이터에 필요한 공간이 얼마나 되나요? : 내부 저장소에는 앱별 데이터를 위한 공간이 제한되어 있다. 따라서 상당한 양의 데이터를 저장해야 한다면 다른 유형의 저장소를 사용해야 한다.
- 데이터 엑세스는 얼마나 안정적이어야 하나요? : 앱을 시작할 때 등 앱의 기본 기능에 필요한 특정 데이터라면 내부 저장소 디렉터리 또는 데이터베이스 내에 배치합니다. 일부 기기의 경우 사용자가 외부 저장소에 해당하는 실제 기기를 제거할 수 있으므로 외부 저장소에 저장된 앱별 파일에 엑세스 하지 못하게 될 수도 있습니다.
- 어떤 종류의 데이터를 저장해야 하나요? : 앱에만 의미 있는 데이터가 있다면 앱별 저장소를 사용합니다. 공유 가능한 미디어 콘텐츠의 경우 다른 앱이 콘텐츠에 엑세스할 수 있도록 공유 저장소를 사용합니다. 구조화된 데이터의 경우 환경설정(키-값 데이터일 때)이나 데이터베이스(열이 3개 이상 포함된 데이터일 때)를 사용합니다.
- 데이터가 앱에만 공개되어야 하나요? : 민감한 정보, 즉 다른 앱에서 엑세스해서는 안되는 데이터를 저장할 때는 내부 저장소, 환결설정 또는 데이터베이스를 사용합니다. 내부 저장소를 사용하면 사용자에게 데이터가 숨겨진다는 추가적인 이점이 있습니다.
저장 위치 카테고리
Andorid 시스템은 두 가지 유형의 실제 저장소를 제공한다.
- 내부 저장소
- 외부 저장소
대부분의 기기에서 내부 저장소는 외부 저장소보다 작다. 그러나 내부 저장소는 모든 기기에서 항상 사용할 수 있으므로 앱 작동의 기반이 되는 데이터를 더 안정적으로 보관할 수 있는 저장 위치다.
앱 자체는 기본적으로 내부 저장소에 저장된다.
그러나, APK 크키가 매우 크다면 다음과 같이 앱의 매니페스트 파일 내에 환경설정을 지정하여 내부 저장소 대신 외부 저장소에 앱을 설치할 수 있다.
<manifest ...
android:installLocation="preferExternal">
...
</manifest>
외부 저장소 관련해서 내용정리는 추후에 할 예정입니다.
참고
https://developer.android.com/training/data-storage?hl=ko
'Mobile App' 카테고리의 다른 글
[안드로이드] - Android SharedPreferences (0) | 2022.07.21 |
---|---|
[안드로이드] - Android Preferences data storage (0) | 2022.07.21 |
[안드로이드] - Android Compatibility (앱 호환성) (0) | 2022.07.18 |
[안드로이드] - Android Architecture (안드로이드 아키텍처) (0) | 2022.07.15 |
[안드로이드] - Android APK(Android Package Kit) (0) | 2022.07.15 |