inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]

플러터와 파이어베이스 연동하기 - 2) 플러터 코드 작성하기

nullsafety 버전에 따른 firestore 연동 오류 해결

905

ksm5318
0

1. firestore 버전 업 (pubspec.yaml)

# Add the dependency for the Firebase Core Flutter SDK
firebase_core: ^1.2.1
cloud_firestore: ^2.2.1

2. main.dart 에서 
Firebase.initializeApp();

import 'package:flutter/material.dart';
import 'package:flutter_netflix_clone/screen/home_screen.dart';
import 'package:flutter_netflix_clone/screen/more_screen.dart';
import 'package:flutter_netflix_clone/widget/bottom_bar.dart';
import 'package:firebase_core/firebase_core.dart';

void main() {
runApp(MyApp());
}

class MyApp extends StatefulWidget {
_MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
late TabController controller;


@override
Widget build(BuildContext context) {
Firebase.initializeApp();

3. home screnn에서 


class _HomeScreenState extends State<HomeScreen> {
FirebaseFirestore firestore = FirebaseFirestore.instance;

4. model_movie.dart 에서

class Movie {
final String title;
final String keyword;
final String poster;
final bool like;
final DocumentReference reference;

Movie.fromMap(Map<String, dynamic> map, {required this.reference})
: title = map['title'],
keyword = map['keyword'],
poster = map['poster'],
like = map['like'];

Movie.fromSnapShot(DocumentSnapshot snapshot)
: this.fromMap(snapshot.data() as Map<String, dynamic>, reference: snapshot.reference);


5. build.gradle 설정 

에러해결

답변 2

0

ksm5318

build.gradle은 아래 링크참고


https://duzi077.tistory.com/198

0

친칠라

안녕하세요 혹시 이런 에러는 안생기셨나요???

기능동작은 정상적인데 디버그 콘솔에는 에러가 계속 뜨네요..

════════ Exception caught by widgets library ═══════════════════════════════════
The following FirebaseException was thrown building KeyedSubtree-[<0>]:
[core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()

The relevant error-causing widget was
TabBarView
lib/main.dart:32
When the exception was thrown, this was the stack
#0      MethodChannelFirebase.app
package:firebase_core_platform_interface/…/method_channel/method_channel_firebase.dart:122
#1      Firebase.app
package:firebase_core/src/firebase.dart:54
#2      FirebaseFirestore.instance
package:cloud_firestore/src/firestore.dart:27
#3      new _HomeScreenState
package:untitled/screen/home_screen.dart:13
#4      HomeScreen.createState
package:untitled/screen/home_screen.dart:9
...
═════════════════