
firebase 프로젝트 연동은 아래 글을 참고해주세요.
https://bright-effact.tistory.com/entry/flutter-Firebase-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0-Mac
flutter) Firebase 연동하기 <Mac>
flutter에서 firebase를 공식지원한 뒤로 firebase 연동이 아주 쉬워졌습니다. 그럼에도 처음 접하는 개발자에게는 험난한 길이기에 구글링을 하다가 결국 이전방식대로 연동을 하기도 하는데요, 이
bright-effect.com
먼저 firebase에 database를 활성화해야한다.
Firebase Console의 좌측 메뉴에서 빌드-Firestore Database를 클릭, '데이터베이스 만들기' 를 클릭한다.



테스트를 할 것임으로 '테스트 모드에서 시작'을 선택한다.(추후 권한 설정을 통해 변경할 수 있음.)

데이터를 저장하는 물리적 서버 위치이다. 어디를 선택해도 상관없지만 이왕이면 가까운곳에 있는게 0.0001초라도 빨리 송수신되지 않을까 해서 가장 가까운 asia-northeast3을 선택했다.
'사용 설정'을 누르고 잠시 기다리면 database 저장공간이 만들어지고, 아래와 같은 화면이 나온다면 준비가 완료된 것이다.

이제 flutter 프로젝트에서 데이터 입력, 출력을 해보자.
flutter 프로젝트에서 firebase-firestore를 추가해야한다.
이외의 플러그인은 아래 공식문서에서 확인할 수 있다.
(https://firebase.google.com/docs/flutter/setup?authuser=0&hl=ko&platform=web#available-plugins)
flutter에서 firebase를 공식지원한 뒤로 pubspec.yaml 파일을 손대지 않고 터미널에서 손쉽게 플러그인을 추가할 수 있다.
프로젝트의 터미널에 아래 명령어를 입력한다.
flutter pub add cloud_firestore
정상적으로 추가되었다면 pubspec.yaml 파일에 cloud_firestore가 추가된 것이 확인된다.

pubspec.yaml에 cloud_firestore가 추가된것을 확인했다면, 본격적으로 데이터를 입,출력 해보자
데이터 입력
데이터 입력 코드는 아래와같다.
final doc = FirebaseFirestore.instance.doc('경로');
doc.sec({'데이터Key':'데이터'});
실행코드는 아래를 참고해보자.

데이터 출력
데이터 출력 코드는 아래와 같다.
final doc = FirebaseFirestore.instance.doc(('Datas/sample'));
final data = await doc.get();
print(data.data());
전체 코드
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(MaterialApp(home: HomeScreen()));
}
class HomeScreen extends StatelessWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
ElevatedButton(
onPressed: () {
setData();
},
child: Text('데이터 입력'),
),
ElevatedButton(
onPressed: () {
getData();
},
child: Text("데이터 확인"),
),
]));
}
void setData() {
final doc = FirebaseFirestore.instance.doc('Datas/sample');
doc.set({'testKey': 'testValue'});
}
Future<void> getData() async {
final doc = FirebaseFirestore.instance.doc(('Datas/sample'));
final data = await doc.get();
print(data.data());
}
}
발생 가능한 에러:
POD에러
에러메시지:
Error running pod install Error launching application on iPhone SE (3rd generation).
해결방법:
Flutter) POD 에러 (Cocoapods 에러 / firebase)
***POD 에러(코코아팟)*** Error running pod install 위와같은 에러가 발생한 분은 아래 순서를 따라 진행해주세요. 프로젝트 터미널에서 아래 명령어 입력 sudo arch -x86_64 gem install ffi os패스워드를..
bright-effect.com
MissingPlugin에러
에러메시지:
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: MissingPluginException(No implementation found for method DocumentReference#set on channel plugins.flutter.io/firebase_firestore)
해결방법:
프로젝트 터미널에서
flutter clean
flutter run
차례대로 입력
IOS버전 에러
에러메시지:
[!] Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
해결방법:
ios-Runner - Podfile 가장 상단
# platform :ios, '11.0' 의 주석 제거(# 제거)

'Develop' 카테고리의 다른 글
flutter) Future.wait - 다중요청 / 병렬처리 (0) | 2022.08.16 |
---|---|
flutter> ios에서 Google Signin(Login) 오류날때 (0) | 2022.08.05 |
Flutter) POD 에러 (Cocoapods 에러 / firebase) (0) | 2022.07.08 |
flutter) Firebase 연동하기 <Mac> (0) | 2022.07.08 |
Flutter - List.map (0) | 2022.06.29 |
댓글