[flutter] 플러터에서 앱 내부 저장소에 파일 저장하기

플러터는 구글에서 개발한 크로스 플랫폼 앱 개발 프레임워크로, 하나의 코드로 iOS와 Android 모두에서 동작하는 앱을 만들 수 있습니다. 이번 글에서는 플러터에서 앱 내부 저장소에 파일을 저장하는 방법에 대해 알아보겠습니다.

1. 앱 내부 저장소란?

앱 내부 저장소는 앱이 설치된 디바이스의 내부 저장 공간입니다. 앱 내부 저장소는 사용자에게는 접근할 수 없으며, 앱에 의해서만 사용될 수 있습니다. 앱 내부 저장소는 보안과 데이터 무결성을 위해 사용되며, 주로 설정 파일, 데이터베이스, 캐시 파일 등을 저장하는 데 사용됩니다.

2. 플러터에서 앱 내부 저장소에 파일 저장하기

플러터에서 앱 내부 저장소에 파일을 저장하는 방법은 다음과 같습니다.

import 'dart:io';
import 'path_provider/path_provider.dart';

void saveFileToInternalStorage() async {
  String fileName = "my_file.txt";
  
  // 앱 내부 저장소 디렉토리 가져오기
  Directory appDir = await getApplicationDocumentsDirectory();
  
  // 파일 생성
  File file = File("${appDir.path}/$fileName");
  
  // 파일 쓰기
  await file.writeAsString("Hello, Flutter!");
  
  print("File saved to internal storage");
}

위의 코드에서는 dart:iopath_provider 패키지를 사용하여 앱 내부 저장소에 파일을 저장하고 있습니다. 먼저 getApplicationDocumentsDirectory() 함수를 사용하여 앱 내부 저장소 디렉토리를 가져옵니다. 그런 다음 원하는 파일 이름과 경로를 지정하여 File 객체를 생성합니다. 마지막으로 writeAsString() 함수를 사용하여 파일에 내용을 씁니다.

3. 퍼미션 설정

플러터에서 앱 내부 저장소에 파일을 저장하기 위해서는 path_provider 패키지가 필요합니다. 이 패키지는 안드로이드에서 외부 저장소, 갤러리 경로 등을 찾을 때 사용됩니다. 따라서 pubspec.yaml 파일에 다음과 같이 path_provider 패키지를 추가해야 합니다.

dependencies:
  flutter:
    sdk: flutter
  path_provider: ^2.0.5

마무리

이번 글에서는 플러터에서 앱 내부 저장소에 파일을 저장하는 방법에 대해 알아보았습니다. 앱 내부 저장소를 사용하여 데이터 무결성과 보안을 유지하고, 설정 파일이나 캐시 파일과 같은 임시 데이터를 저장할 수 있습니다.

더 자세한 내용은 플러터 공식 문서를 참고하시기 바랍니다.