플러터(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
패키지를 사용하여 앱 외부 저장소에 접근하고 디렉토리를 생성하는 과정을 스텝별로 안내하였습니다. 플러터 개발을 할 때 앱 외부 저장소에 대한 접근이 필요할 경우, 이러한 방법을 참고하시기 바랍니다.