[flutter] 플러터(Flutter)에서 카메라 및 갤러리 기능 구현하기

이번 글에서는 플러터(Flutter)에서 카메라 및 갤러리 기능을 구현하는 방법에 대해 알아보겠습니다.

1. 카메라 기능 구현하기

import 'package:image_picker/image_picker.dart';

Future<void> _getImageFromCamera() async {
  final _picker = ImagePicker();
  final pickedFile = await _picker.getImage(source: ImageSource.camera);

  if (pickedFile != null) {
    // 이미지 선택 후에 할 작업 수행
    // 예: 이미지 업로드, 이미지 보여주기 등
  }
}

위의 예시 코드는 image_picker 패키지를 사용하여 카메라에서 사진을 가져오는 기능을 구현한 것입니다. ImageSource.camera를 사용하여 카메라에서 이미지를 선택할 수 있고, 선택한 이미지는 pickedFile 변수에 저장됩니다.

이후에는 pickedFile 변수를 이용하여 이미지를 업로드하거나 화면에 보여주는 등의 작업을 수행할 수 있습니다.

2. 갤러리 기능 구현하기

Future<void> _getImageFromGallery() async {
  final _picker = ImagePicker();
  final pickedFile = await _picker.getImage(source: ImageSource.gallery);

  if (pickedFile != null) {
    // 이미지 선택 후에 할 작업 수행
    // 예: 이미지 업로드, 이미지 보여주기 등
  }
}

위의 예시 코드는 image_picker 패키지를 사용하여 갤러리에서 사진을 가져오는 기능을 구현한 것입니다. ImageSource.gallery를 사용하여 갤러리에서 이미지를 선택할 수 있고, 선택한 이미지는 pickedFile 변수에 저장됩니다.

이후에는 pickedFile 변수를 이용하여 이미지를 업로드하거나 화면에 보여주는 등의 작업을 수행할 수 있습니다.

3. 권한 설정하기

위의 예시 코드를 실행하기 전에, 플러터(Flutter) 앱에서 카메라 및 갤러리에 접근하기 위한 권한을 설정해야 합니다. pubspec.yaml 파일에 다음과 같은 의존성을 추가해주세요.

dependencies:
  permission_handler: ^14.0.0

그리고 앱의 AndroidManifest.xml 파일과 Info.plist 파일에도 카메라 및 갤러리 접근 권한을 추가해주세요. 자세한 내용은 permission_handler 패키지의 공식 문서를 참고하시기 바랍니다.

결론

플러터(Flutter)에서 카메라 및 갤러리 기능을 구현하는 방법에 대해 알아보았습니다. image_picker 패키지를 사용하여 손쉽게 이미지를 가져올 수 있으며, 권한 설정에 주의해야 합니다.

더 자세한 내용은 image_picker 패키지 공식 문서를 참고하시기 바랍니다.