본문 바로가기

플러터와 파이어베이스 2탄- 파이어스토어에 자료 저장하기(create)-(2)

ironwhale 2022. 6. 16.

이전편에서 편리하게 데이터를 가공하기위한 자료형을 만들었습니다. 

 

이번에는 파이어베이스 공식 문서를 보고 데이터를 파이어스토어에 저장하는 코드를 작성해보도록 하겠습니다. 

이 포스팅은 코딩파파님의 강의를 듣고 다시 한번 복습하는 의미에서 작성된 포스팅입니다. 

 

이전편: https://jh-industry.tistory.com/65

파이어베이스 공식문서: https://firebase.google.com/docs/firestore

 


CRUD 구현을 위한 클래스 만들기- Create 부분만

이전에 set을 이용해서 데이터를 저장하는 코딩파파님의 방식에서 공식 문서에 간단하게 설명하고 있는 add 방식으로 해보겠습니다. 

 

파이어베이스에 저장하는 클래스 구현 

앞으로 이 FireService클래스 안에 CRUD를 모두 구현할 예정입니다. 그래서 별도의 fire_service.dart 파일을 만들어서 그 안에 아래와 같이 클래스를 하나 만들었습니다. 현재는 간단한게 add를 이용해서 파이어베이스 저장하는 함수 구현하였습니다.그리고 싱글톤 패턴을 사용했는 아래 코드가 어떻게 작동되는지 왜 저렇게 하는지는 좀 더 공부가 필요 할거 같습니다. 

 

import 'package:cloud_firestore/cloud_firestore.dart';

class FireService {
  // 싱글톤 패턴
  static final FireService _fireService = FireService._internal();
  factory FireService() => _fireService;
  FireService._internal();

  //Create
  Future createMemo(Map<String, dynamic> json) async {
    // 초기화
    await FirebaseFirestore.instance.collection("memo").add(json);
  }
}

 

실제 화면에서 저장하는 기능 구현 

아주 간단하게 버튼을 눌렀을때 저장하는 기능이 동작하는 코드를 아래와 같습니다. 우선 FireModel 인스턴스를 만들고 앞서 만든 FireService에 저장하는 함수를 실행 시킵니다. 이때 저장할 데이터는 toJson() 함수를 이용하여 Json형태로 바꿔줍니다. 이렇게 하면 파이어스토어에 쉽게 저장하는 기능을 구현할수 있습니다. 

TextButton(
    onPressed: () async {
      FireModel _fireModel = FireModel(
          motto: _inputController.text, date: Timestamp.now());

      await FireService().createMemo(_fireModel.toJson());
    },

    child: const Icon(Icons.send)),

 

이렇게 잘 저장된 모습을 보실수 있습니다. 

이것으로 파이어베이스 CRUD 중 Create 부분을 마치겠습니다. 


2022.06.17 - 플러터와 파이어베이스 3탄 - 파이어 베이스 데이터 가져오기(READ)-DocumentReference란?? CollectionReference

 

플러터와 파이어베이스 3탄 - 파이어 베이스 데이터 가져오기(READ)-DocumentReference란?? CollectionReferen

플러터로 파이어 베이스 데이터 가져오기(READ) 1탄과 2탄에 이어 이번에는 파이어베이스(파이어스토어)에 저장된 데이터를 불러오는 방법에 대해 알아보겠습니다. 우선 기본 용어와 흐름 부터

jh-industry.tistory.com

2022.06.19 - 플러터와 파이어베이스 4탄 - 파이어스토어에 데이터 수정하기(UPDATE), 데이터 삭제하기(Delete)

 

플러터와 파이어베이스 4탄 - 파이어스토어에 데이터 수정하기(UPDATE), 데이터 삭제하기(Delete)

Flutter & FireBase(FireStore) 데이터 수정하기, 삭제하기 편 대망에 파이어스토어 CRUD편의 마지막입니다. 저장하기, 읽어오기, 수정하기, 삭제하기가 데이터베이스를 처음 접했을때 지겹게 듣고 실습

jh-industry.tistory.com

2023.02.25 - [플러터와 파이어베이스] 데이터 쿼리 정리(WHERE 문)

 

[플러터와 파이어베이스] 데이터 쿼리 정리(WHERE 문)

이번 포스팅에서는 1인 개발자에게 필수적인 파이어베이스 서비스 중 fireStore의 공식문서를 보고 공부한 내용을 이번 기회에 정리해보고자 작성해 보았습니다. 특히 데이터를 불러오는 방법이

jh-industry.tistory.com

 

댓글