[android] 안드로이드 파일 시스템과 내부 저장소

안드로이드 앱은 다양한 형태의 데이터를 저장하고 관리해야 합니다. 이를 위해 안드로이드는 File System을 통해 데이터를 저장하고, 각 앱은 독립적인 Internal Storage를 가지고 있습니다.

안드로이드 파일 시스템

안드로이드의 파일 시스템은 리눅스 파일 시스템을 기반으로 하고 있습니다. 따라서 안드로이드 앱은 /data, /system, /mnt, /etc와 같은 리눅스 디렉터리 구조를 사용합니다. 또한 각 각의 앱은 /data/data/<package_name> 경로에 자체 데이터를 저장합니다.

내부 저장소 (Internal Storage)

안드로이드에서 앱은 내부 저장소에 데이터를 저장합니다. 내부 저장소는 앱의 패키지 디렉터리 내부에 위치하며, 앱만 접근 가능합니다. 앱 데이터를 저장하는데 주로 이용되며, 다른 앱이 이 데이터에 접근할 수 없는 보안적 장점이 있습니다. 내부 저장소는 앱을 삭제할 때 함께 삭제되므로 데이터의 영구성을 보장합니다.

// 내부 저장소에서 파일 생성하는 예제
String filename = "myfile.txt";
String fileContents = "Hello world!";
try (FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE)) {
    fos.write(fileContents.getBytes());
}

내부 저장소의 제한된 공간과 앱 데이터의 보호를 위해 안드로이드에서는 API를 제공하고 있습니다. FileSharedPreferences를 이용하여 데이터를 안전하게 관리할 수 있습니다.

안드로이드에서 파일 시스템을 이용하여 데이터를 안전하게 관리하는 것은 앱의 핵심 기능 중 하나입니다. 이를 위해 안드로이드의 파일 시스템과 내부 저장소에 대한 이해가 필요합니다.

참고 자료