[flutter] get_it를 사용하여 플러터 앱에서 SMS 및 전화 기능을 어떻게 사용하는가?
이번 글에서는 Flutter 앱에서 get_it 패키지를 사용하여 SMS 및 전화 기능을 어떻게 사용하는지 알아보겠습니다.
get_it 패키지란?
get_it은 의존성 주입을 위한 패키지로, Flutter 앱에서 객체 인스턴스를 관리하고 공유할 수 있도록 도와줍니다. 의존성 주입은 코드를 더 모듈화하고 테스트 가능한 앱을 작성하는데 도움을 줍니다.
SMS 및 전화 기능 사용을 위한 패키지 설치
SMS 및 전화 기능을 사용하기 위해서는 해당 기능을 제공하는 Flutter 패키지를 설치해야 합니다.
SMS 기능 사용을 위해 sms
패키지를 설치합니다:
dependencies:
sms: ^4.0.0
전화 기능 사용을 위해 flutter_phone_direct_caller
패키지를 설치합니다:
dependencies:
flutter_phone_direct_caller: ^2.0.0
위의 패키지들을 pubspec.yaml
파일에 추가하고 flutter pub get
명령어를 실행하여 패키지들을 가져옵니다.
get_it 패키지를 사용하여 SMS 및 전화 기능 사용하기
get_it
패키지를 프로젝트에 추가합니다:
dependencies:
get_it: ^7.1.3
main.dart
파일에서get_it
을 초기화합니다:
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
void main() {
setupLocator();
runApp(MyApp());
}
void setupLocator() {
GetIt.I.registerSingleton<SmsService>(SmsService());
GetIt.I.registerSingleton<PhoneCallService>(PhoneCallService());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// 앱 코드 작성
}
}
- SMS 및 전화 서비스를 제공하는 클래스를 작성합니다:
class SmsService {
void sendMessage(String text, String recipient) {
// SMS 전송 코드 작성
}
}
class PhoneCallService {
void makeCall(String phoneNumber) {
// 전화 걸기 코드 작성
}
}
- 필요한 곳에서
get_it
을 사용하여 SMS 및 전화 기능을 호출합니다:
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SMS & 전화 기능 사용하기'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
SmsService smsService = GetIt.I.get<SmsService>();
smsService.sendMessage("안녕하세요", "010-1234-5678");
},
child: Text("SMS 보내기"),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
PhoneCallService phoneCallService = GetIt.I.get<PhoneCallService>();
phoneCallService.makeCall("010-1234-5678");
},
child: Text("전화 걸기"),
),
],
),
),
);
}
}
위의 코드에서는 GetIt.I.get<T>()
를 사용하여 SMS 및 전화 서비스 객체의 인스턴스를 가져옵니다. 그러면 해당 객체의 메소드를 호출하여 SMS를 보내거나 전화를 걸 수 있습니다.
이제 Flutter 앱에서 get_it를 사용하여 SMS 및 전화 기능을 쉽게 사용할 수 있습니다. 의존성 주입을 통해 코드를 더욱 모듈화하고 유연하게 개발할 수 있습니다.