[flutter] Firebase Database와 플러터를 이용한 CRUD 애플리케이션 만들기

이번 튜토리얼에서는 Flutter와 Firebase Database를 사용하여 간단한 CRUD(Create, Read, Update, Delete) 애플리케이션을 만들어보겠습니다. Flutter는 크로스 플랫폼 개발 프레임워크로, Firebase Database는 클라우드 기반의 실시간 데이터베이스입니다. 이 두 기술을 결합하여 효율적으로 애플리케이션을 개발할 수 있습니다.

개발 환경 설정

  1. Flutter SDK 설치하기
    • Flutter 공식 사이트(https://flutter.dev)에서 Flutter SDK를 다운로드하고 설치합니다.
    • Flutter 개발 환경 설정에 대한 자세한 내용은 Flutter 공식 문서를 참고하세요.
  2. Firebase 프로젝트 생성하기
    • Firebase 콘솔(https://console.firebase.google.com)에 접속하여 새로운 Firebase 프로젝트를 생성합니다.
    • Firebase 프로젝트에는 애플리케이션을 등록하고 데이터베이스를 설정할 수 있습니다.
  3. Flutter 프로젝트 생성하기
    • Flutter 개발 환경을 설정한 후, 터미널에서 다음 명령어를 실행하여 Flutter 프로젝트를 생성합니다.
    flutter create crud_app
    
  4. Firebase Flutter 패키지 추가하기
    • Flutter 프로젝트의 pubspec.yaml 파일에 다음 코드를 추가하여 Firebase Flutter 패키지를 추가합니다.
    dependencies:
      flutter:
        sdk: flutter
      firebase_core: ^0.7.0
      firebase_database: ^6.0.0
    
    • flutter pub get 명령어를 실행하여 패키지를 다운로드 받습니다.

Firebase 연동하기

  1. Firebase 프로젝트 설정 파일 추가하기
    • Firebase 콘솔에서 “프로젝트 설정” 페이지로 이동하여, 앱을 등록하고 google-services.json 파일을 다운로드 받습니다.
    • android/app 디렉토리에 google-services.json 파일을 추가합니다.
  2. Firebase 초기화하기
    • lib/main.dart 파일을 열고, Firebase를 초기화하는 코드를 추가합니다.
    import 'package:firebase_core/firebase_core.dart';
    
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      runApp(MyApp());
    }
    

CRUD 애플리케이션 구현하기

  1. 데이터베이스에 연결하기
    • lib/main.dart 파일에 다음 코드를 추가하여 Firebase Database와의 연결을 설정합니다.
    import 'package:firebase_database/firebase_database.dart';
    
    final databaseReference = FirebaseDatabase.instance.reference();
    
  2. 데이터 읽기
    • lib/main.dart 파일에 다음 코드를 추가하여 데이터를 읽어오는 기능을 구현합니다.
    Future<DataSnapshot> getData() async {
      return await databaseReference.once();
    }
    
  3. 데이터 쓰기
    • lib/main.dart 파일에 다음 코드를 추가하여 데이터를 작성하는 기능을 구현합니다.
    void createData(String name, String email) {
      databaseReference.child('users').push().set({
        'name': name,
        'email': email,
      });
    }
    
  4. 데이터 업데이트
    • lib/main.dart 파일에 다음 코드를 추가하여 데이터를 업데이트하는 기능을 구현합니다.
    void updateData(String key, String name, String email) {
      databaseReference.child('users/$key').update({
        'name': name,
        'email': email,
      });
    }
    
  5. 데이터 삭제
    • lib/main.dart 파일에 다음 코드를 추가하여 데이터를 삭제하는 기능을 구현합니다.
    void deleteData(String key) {
      databaseReference.child('users/$key').remove();
    }
    

애플리케이션 테스트하기

  1. 애플리케이션 실행하기
    • 터미널에서 Flutter 프로젝트 디렉토리로 이동한 후, 다음 명령어를 실행하여 애플리케이션을 실행합니다.
    flutter run
    
  2. 데이터 읽기 및 쓰기 테스트
    • 애플리케이션을 실행한 후, 데이터를 읽고 쓰는 기능을 테스트합니다.
    • 데이터를 읽어와서 화면에 출력하거나, 데이터를 새로 작성하여 Firebase Database에 저장할 수 있습니다.
  3. 데이터 업데이트 및 삭제 테스트
    • 애플리케이션에서 데이터를 업데이트하거나 삭제하는 기능을 테스트합니다.
    • 해당 기능을 사용하여 Firebase Database에 저장된 데이터를 업데이트하거나 삭제할 수 있습니다.

결론

이번 튜토리얼에서는 Flutter와 Firebase Database를 사용하여 CRUD 애플리케이션을 만드는 방법에 대해 알아보았습니다. Flutter와 Firebase의 강력한 조합을 통해 데이터베이스를 활용한 애플리케이션을 쉽게 개발할 수 있습니다. 다양한 기능을 추가하거나 UI를 디자인하여 더욱 완성도 있는 애플리케이션을 개발해보세요.

참고 자료