본문 바로가기
Mobile App

[안드로이드] - Android Data & File Repository (안드로이드 데이터)

by Jman 2022. 7. 18.

데이터 및 파일 저장소 개요

Android는 다른 플랫폼의 디스크 기반 파일 시스템과 유사한 파일 시스템을 사용한다.

 

안드로이드 시스템에서 제공되는 앱 데이터 저장 옵션

  • 앱별 저장소 : 내부 저장소 볼륨 내의 전용 디렉터리 또는 외부 저장소 내의 다른 전용 디렉터리에 앱 전용으로 사용되는 파일을 저장 한다. 다른 앱이 엑세스해서는 안 되는 민감한 정보는 내부 저장소 내의 디렉터리에 저장한다.
  • 공유 저장소 : 미디어, 문서, 기타 파일을 비롯하여 앱이 다른 앱과 공유해야 하는 파일을 저장한다.
  • 환경설정 : 비공개 Primitive Data를 키-값 쌍으로 저장한다.
  • 데이터베이스 : Room 지속성 라이브러리를 사용하여 구조화된 데이터를 비공개 데이터베이스에 저장한다.

 

위 앱 데이터 저장옵션은 아래와 같은 특정 요구에 따라 달라진다.

  • 데이터에 필요한 공간이 얼마나 되나요? : 내부 저장소에는 앱별 데이터를 위한 공간이 제한되어 있다. 따라서 상당한 양의 데이터를 저장해야 한다면 다른 유형의 저장소를 사용해야 한다.
  • 데이터 엑세스는 얼마나 안정적이어야 하나요? : 앱을 시작할 때 등 앱의 기본 기능에 필요한 특정 데이터라면 내부 저장소 디렉터리 또는 데이터베이스 내에 배치합니다. 일부 기기의 경우 사용자가 외부 저장소에 해당하는 실제 기기를 제거할 수 있으므로 외부 저장소에 저장된 앱별 파일에 엑세스 하지 못하게 될 수도 있습니다. 
  • 어떤 종류의 데이터를 저장해야 하나요? : 앱에만 의미 있는 데이터가 있다면 앱별 저장소를 사용합니다. 공유 가능한 미디어 콘텐츠의 경우 다른 앱이 콘텐츠에 엑세스할 수 있도록 공유 저장소를 사용합니다. 구조화된 데이터의 경우 환경설정(키-값 데이터일 때)이나 데이터베이스(열이 3개 이상 포함된 데이터일 때)를 사용합니다.
  • 데이터가 앱에만 공개되어야 하나요? : 민감한 정보, 즉 다른 앱에서 엑세스해서는 안되는 데이터를 저장할 때는 내부 저장소, 환결설정 또는 데이터베이스를 사용합니다. 내부 저장소를 사용하면 사용자에게 데이터가 숨겨진다는 추가적인 이점이 있습니다.

 

저장 위치 카테고리

Andorid 시스템은 두 가지 유형의 실제 저장소를 제공한다.

  • 내부 저장소
  • 외부 저장소

대부분의 기기에서 내부 저장소는 외부 저장소보다 작다. 그러나 내부 저장소는 모든 기기에서 항상 사용할 수 있으므로 앱 작동의 기반이 되는 데이터를 더 안정적으로 보관할 수 있는 저장 위치다.

 

앱 자체는 기본적으로 내부 저장소에 저장된다.

그러나, APK 크키가 매우 크다면 다음과 같이 앱의 매니페스트 파일 내에 환경설정을 지정하여 내부 저장소 대신 외부 저장소에 앱을 설치할 수 있다.

<manifest ...
	android:installLocation="preferExternal">
    ...
</manifest>

 

 

외부 저장소 관련해서 내용정리는 추후에 할 예정입니다.

 

참고

https://developer.android.com/training/data-storage?hl=ko 

 

데이터 및 파일 저장소 개요  |  Android 개발자  |  Android Developers

데이터 및 파일 저장소 개요 Android는 다른 플랫폼의 디스크 기반 파일 시스템과 유사한 파일 시스템을 사용합니다. 시스템에서 제공되는 앱 데이터 저장 옵션은 다음과 같습니다. 앱별 저장소:

developer.android.com