[flutter] 플러터에서 앱 외부 저장소에 디렉토리 생성하기

플러터(Flutter)를 사용하여 모바일 앱을 개발하다보면 앱 외부 저장소에 디렉토리를 생성하는 경우가 있습니다. 이 문서에서는 플러터에서 앱 외부 저장소에 디렉토리를 생성하는 단계를 안내해 드리겠습니다.

1. 권한 설정

앱이 앱 외부 저장소에 접근하기 위해서는 저장소에 대한 권한을 설정해야 합니다. pubspec.yaml 파일에 다음과 같이 path_provider 패키지를 추가해주세요.

dependencies:
  flutter:
    sdk: flutter
  path_provider: ^2.0.2

그리고 main.dart 파일에서 path_provider 패키지를 임포트 하도록 합니다.

import 'package:path_provider/path_provider.dart';

2. 디렉토리 생성

앱 외부 저장소에 디렉토리를 생성하기 위해서는 path_provider 라이브러리를 사용합니다. 디렉토리를 생성하는 코드는 다음과 같습니다.

Future<String> createDirectory() async {
  Directory directory; 
  if (Platform.isAndroid) { // 안드로이드인 경우
    directory = await getExternalStorageDirectory();
  } else if (Platform.isIOS) { // iOS인 경우
    directory = await getApplicationDocumentsDirectory();
  }
  
  String path = directory.path + '/my_directory'; // 생성할 디렉토리의 경로
  
  Directory(path).create(recursive: true); // 디렉토리 생성
  
  return path; // 생성된 디렉토리의 경로 반환
}

createDirectory 함수는 플랫폼에 따라 앱 외부 저장소의 경로를 가져오고, 경로에 ‘my_directory’ 디렉토리를 생성합니다. 생성된 디렉토리의 경로를 반환합니다.

3. 디렉토리 생성 테스트

위에서 작성한 createDirectory 함수를 사용하여 디렉토리 생성을 테스트해봅시다. 예를 들어, 버튼을 클릭하면 디렉토리가 생성되는 기능을 구현하려면 다음과 같이 코드를 작성할 수 있습니다.

RaisedButton(
  onPressed: () async {
    String directoryPath = await createDirectory();
    print('디렉토리 생성 완료: $directoryPath');
  },
  child: Text('디렉토리 생성'),
),

이제 앱을 실행하고 ‘디렉토리 생성’ 버튼을 클릭하면 디렉토리가 생성되고 생성된 디렉토리의 경로가 콘솔에 출력됩니다.

결론

이를 통해 플러터에서 앱 외부 저장소에 디렉토리를 생성하는 방법을 알아보았습니다. 플러터와 path_provider 패키지를 사용하여 앱 외부 저장소에 접근하고 디렉토리를 생성하는 과정을 스텝별로 안내하였습니다. 플러터 개발을 할 때 앱 외부 저장소에 대한 접근이 필요할 경우, 이러한 방법을 참고하시기 바랍니다.

참고