[Flutter] firebase 사용법

wjdguseya_0880·2024년 3월 26일
1

firebase는 구글이 인수한 모바일 앱 개발에 최적화된 기능을 제공하는 서비스이다.
플러터 뿐만이 아니라 다른 앱 개발 프레임 워크 그리고 웹이나 서버에서도 이용할 수 있다.

주요기능



firebase 연결하는 법

https://firebase.google.com/?hl=ko


1. 로그인 후 시작하기 클릭

2. 프로젝트 추가하기 클릭

3. 프로젝트 이름 생성

4. 터미널에서 flutter 프로젝트 생성하기

5. pubspec.yaml 파일에 dependencies추가

  • firebase_core
  • cloud_firestore
  • firebase_auth

6. firebase cli설치

curl -sL https://firebase.tools | bash

7. 터미널에 입력해서 firebase에 로그인을 한다.

firebase login

dart pub global activate flutterfire_cli

8. firebase 사용하도록 앱 구성

flutterfire configure

다음에서 플랫폼을 고른다.(web, android, ios, macos중에...)

설정이 끝나면

firebase_option.dart파일과
android파일에 google-sevices.json이 생성되면 성공이다.

9. main.dart에 함수코드를 수정한다.

 WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

이렇게 초기화를 설정해줘야 한다.






💥 연동하면서 만났던 에러들

  • 코틀린 버전이 자꾸 안맞는다고 뜨면
    프로젝트에 있는 settings.gradle에 들어가서 pligins에 코틀린을 핫로드에 뜨는 최신버전으로 바꿔준다.

    id "org.jetbrains.kotlin.android" version "1.9.0" apply false ```
  • sdk버전 맞추기
    app안에 있는 build.gradle에서 minSdkVersion 23 무조건 이거를 써줘야지 작동한다.

파이어스토어CRUD

문서 삽입

add()
add()함수를 이용해서 문서를 삽입하면 파이어 스토어에서 자동으로 문서의 ID값을 생성해줌.

final data = {
  'name' : '파이어베이스',
  'age'  : '10'
  'Fruit' : ['사과', '바나나', '파인애플']
};

FirebaseFirestore.instance
.collection('person')
.add(data);

.collection()함수는 문서를 저장할 컬렉션을 저장함

set()
직접 문서의 ID값을 지정할 수 있다.

final data = {
  'name' : '파이어베이스',
  'age'  : '10'
  'Fruit' : ['사과', '바나나', '파인애플']
};

FirebaseFirestore.instance
.collection('person')
.doc('1')  //문서의 ID값을 넣어줄 수 있다.
.set(data);

문서 삭제

delete()

FirebaseFirestore.instance
.collection('person')
.doc('1')  //삭제할 문서의 ID값을 입력해준다.
.delete();

문서 조회

Stream 실시간으로 컬렉션 업데이트 받기

FirebaseFirestore.instance
.collection('person')
.snapshots();

Future로 일회성으로 데이터 받아오기

한번만 받아오고 지속적으로 업데이트 하지는 않는다.

FirebaseFirestore.instance
.collection('person')
.get();

특정문서 가져오기

FirebaseFirestore.instance
.collection('person')
.doc('1')
.snapshots();  //get으로 받아올수도 있음

파이어베이스 문서 업데이트

update()

FirebaseFirestore.instance
.collection('person')
.doc('1')
.update({
  'name' : '지수'
});  
profile
플러터 공부 기록일지

0개의 댓글