[flutter] 플러터에서 외부 저장소의 경로 가져오기

안녕하세요! 이번에는 플러터(Flutter) 앱에서 외부 저장소의 경로를 가져오는 방법에 대해 알아보겠습니다.

플러터는 안드로이드와 iOS 모두에서 사용할 수 있는 크로스 플랫폼 개발 도구이며, 외부 저장소에 있는 파일을 읽고 쓰기 위해서는 해당 경로를 먼저 찾아야 합니다.

Step 1: 플러그인 추가하기

플러터에서 외부 저장소의 경로를 사용하기 위해서는 path_provider 플러그인을 사용해야 합니다. pubspec.yaml 파일에 다음과 같이 추가해주세요:

dependencies:
  flutter:
    sdk: flutter
  path_provider: ^1.6.11

플러그인을 추가한 후에는 flutter pub get 명령어를 실행하여 종속성을 설치해야 합니다.

Step 2: 외부 저장소 경로 가져오기

이제 코드에서 path_provider 패키지를 사용하여 외부 저장소의 경로를 가져와보겠습니다.

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

Future<String> getExternalStoragePath() async {
  if (Platform.isAndroid) {
    final directory = await getExternalStorageDirectory();
    return directory.path;
  } else if (Platform.isIOS) {
    final directory = await getApplicationDocumentsDirectory();
    return directory.path;
  } else {
    throw UnsupportedError('This platform is not supported.');
  }
}

위의 코드는 getExternalStoragePath 함수를 정의하고, 플랫폼이 안드로이드인지 iOS인지 확인하여 해당하는 경로를 반환합니다.

Step 3: 경로 사용하기

이제 getExternalStoragePath 함수를 호출하여 외부 저장소 경로를 가져올 수 있습니다. 예를 들어, 저장소 경로에 새 파일을 생성하려면 다음과 같이 사용할 수 있습니다:

void createFileInExternalStorage() async {
  final path = await getExternalStoragePath();
  final file = File('$path/my_file.txt');
  
  await file.create();
}

위의 코드에서는 getExternalStoragePath 함수를 호출하여 외부 저장소의 경로를 가져온 다음, 해당 경로에 my_file.txt라는 이름의 파일을 생성합니다.

요약

이번에는 플러터(Flutter) 애플리케이션에서 외부 저장소의 경로를 가져오는 방법에 대해 알아보았습니다. path_provider 플러그인을 사용하여 각 플랫폼별로 외부 저장소의 경로를 가져올 수 있습니다. 이를 통해 파일을 읽고 쓸 수 있는 환경을 구성할 수 있습니다.

자세한 내용은 path_provider 패키지의 공식 문서를 참조하세요.