[flutter] get_it과 카메라와 비디오 레코딩

Flutter를 사용하면 다양한 플랫폼에 배포 가능한 멋진 모바일 앱을 만들 수 있습니다. 이번 글에서는 get_it 플러그인을 사용하여 앱에 서비스를 주입하고, camera 플러그인을 이용하여 카메라와 비디오 레코딩 기능을 추가하는 방법에 대해 설명하겠습니다.

get_it을 사용하여 서비스 주입하기

get_it은 Flutter 앱에서 의존성 주입을 관리하는 라이브러리로, 서비스와 데이터 구조체를 앱 전역에서 액세스할 수 있도록 합니다. 먼저, get_it 플러그인을 pubspec.yaml 파일에 추가한 후, 패키지를 가져옵니다.

dependencies:
  flutter:
    sdk: flutter
  get_it: ^7.1.3

그런 다음, 패키지를 가져오십시오.

import 'package:get_it/get_it.dart';

앱이 시작될 때, 모든 의존성을 준비해놓는 것이 좋습니다. 이를 위해 main.dart 파일에 아래와 같이 코드를 추가합니다.

void main() {
  GetIt.I.registerSingleton<MyService>(MyService());
  runApp(MyApp());
}

이제 다른 곳에서 get_it을 사용하여 MyService에 액세스할 수 있습니다.

final MyService myService = GetIt.I<MyService>();
myService.doSomething();

카메라와 비디오 녹화 기능 추가하기

이제 카메라와 비디오 레코딩 기능을 추가해보겠습니다. 먼저, camera 플러그인을 프로젝트에 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  camera: ^0.8.1+7

그런 다음, 패키지를 가져옵니다.

import 'package:camera/camera.dart';

카메라를 초기화하고 레코딩을 시작하는 코드는 다음과 같습니다.

final CameraController controller = CameraController(cameras[0], ResolutionPreset.high);
await controller.initialize();
await controller.startVideoRecording();

또한, 레코딩을 중지하고 저장하는 방법은 다음과 같습니다.

XFile videoFile = await controller.stopVideoRecording();

이제 Flutter 앱에 get_it을 사용하여 서비스를 주입하고, camera 플러그인을 사용하여 카메라와 비디오 레코딩 기능을 추가하는 방법에 대해 알아보았습니다. 이를 통해 앱에 고급 기능을 쉽게 통합할 수 있게 되었습니다. 이러한 도구들은 Flutter 개발을 훨씬 더 효율적으로 만들어 줍니다.