[flutter] Firebase_core를 사용하여 플러터 앱에서 데이터베이스 연동하기

Firebase는 구글에서 제공하는 통합 모바일 개발 플랫폼으로, 데이터베이스, 인증, 스토리지 등의 기능을 제공합니다. 플러터(Flutter) 앱에서 Firebase의 데이터베이스를 사용하려면 firebase_core 패키지를 사용하여 Firebase 초기화를 수행해야 합니다. 이를 통해 앱과 Firebase의 연결을 설정하고 데이터를 가져오거나 저장할 수 있습니다.

패키지 추가

먼저 프로젝트의 pubspec.yaml 파일에 firebase_core 패키지를 추가해야 합니다. 아래와 같이 dependencies 섹션에 패키지를 추가하세요.

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^1.7.0

그리고 패키지를 적용하기 위해 터미널에서 다음 명령어를 실행합니다.

flutter pub get

Firebase 프로젝트 생성

Firebase에는 Firebase 프로젝트가 필요합니다. Firebase 콘솔(https://console.firebase.google.com/)에 접속하여 새로운 프로젝트를 생성하세요. 프로젝트 생성 후, 앱을 등록하고 설정 파일(google-services.json 또는 GoogleService-Info.plist)을 다운로드 받으세요.

앱 초기화

Firebase 초기화를 위해 main.dart 파일에서 firebase_core 패키지를 import 하고 main() 함수 이전에 다음 코드를 추가하세요.

import 'package:firebase_core/firebase_core.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  
  runApp(MyApp());
}

위의 코드에서 Firebase.initializeApp() 메서드는 Firebase와의 연결을 설정하는 역할을 수행합니다.

데이터베이스 사용

Firebase의 데이터베이스는 Firebase의 Realtime Database 또는 Cloud Firestore를 사용할 수 있습니다. 이 예시에서는 Cloud Firestore를 사용하도록 하겠습니다.

Firestore를 사용하기 위해 cloud_firestore 패키지를 pubspec.yaml 파일에 추가하고 flutter pub get 명령어를 실행하세요.

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^1.7.0
  cloud_firestore: ^2.5.4

Firestore를 사용하기 위해 앱에서 데이터를 가져오거나 저장할 때에는 firebase_core 패키지와 함께 cloud_firestore 패키지를 import 해야 합니다.

import 'package:firebase_core/firebase_core.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

Firestore를 초기화하고 데이터를 읽기 위해서는 다음과 같은 코드를 사용할 수 있습니다.

// Firebase 초기화
await Firebase.initializeApp();

// Firestore 인스턴스 생성
FirebaseFirestore firestore = FirebaseFirestore.instance;

// 데이터 가져오기
QuerySnapshot snapshot = await firestore.collection('users').get();
snapshot.docs.forEach((doc) {
  print(doc.data());
});

위의 코드에서는 users 컬렉션의 모든 문서를 가져와서 각 문서의 데이터를 출력합니다.

데이터를 추가하려면 다음과 같이 코드를 작성합니다.

// 데이터 추가
await firestore.collection('users').add({'name': 'John', 'age': 25});

위의 코드에서는 users 컬렉션에 nameage 필드를 가진 새로운 문서를 추가합니다.

이제 firebase_core 패키지를 사용하여 플러터(Flutter) 앱에서 Firebase 데이터베이스를 사용할 수 있게 되었습니다. Firebase에 대한 자세한 내용은 Firebase 공식 문서를 참고하세요.