인프런 커뮤니티 질문&답변

이진희[학생](예술디자인대학 님의 프로필 이미지
이진희[학생](예술디자인대학

작성한 질문수

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

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

firebase 모델 적용 후 ui화면 오류

해결된 질문

작성

·

705

0

//
home_screen.dart 파일입니다.
firebase에 입력된 값들을 적용하니까, ui화면은 다 사라지고 흰색 화면만 좌우로 무한스크롤 됩니다ㅠㅠ
안드로이드로 개발했습니다.
//
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:second/model/model_movie.dart';
import 'package:second/widget/box_slider.dart';
import 'package:second/widget/carousel_slider.dart';
import 'package:second/widget/circle_slider.dart';

class HomeScreen extends StatefulWidget {
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  Firestore firestore = Firestore.instance;
  Stream<QuerySnapshot> streamData;

  @override
  void initState() {
    super.initState();
    streamData = firestore.collection('movie').snapshots();
  }

  Widget _fetchData(BuildContext context) {
    return StreamBuilder<QuerySnapshot>(
      stream: Firestore.instance.collection('movie').snapshots(),
      builder: (context, snapshot) {
        if (!snapshot.hasData) return LinearProgressIndicator();
        return _buildBody(context, snapshot.data.documents);
      },
    );
  }

  Widget _buildBody(BuildContext context, List<DocumentSnapshot> snapshot) {
    List<Movie> movies = snapshot.map((d) => Movie.fromSnapshot(d)).toList();
    return ListView(
      children: <Widget>[
        Stack(
          children: <Widget>[
            CarouselImage(
              movies: movies,
            ),
            TopBar(),
          ],
        ),
        CircleSlider(
          movies: movies,
        ),
        BoxSlider(
          movies: movies,
        ),
      ],
    );
  }

  @override
  Widget build(BuildContext context) {
    return _fetchData(context);
  }
}

class TopBar extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      padding: EdgeInsets.fromLTRB(207207),
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
          Image.asset(
            'images/bbongflix_logo.png',
            fit: BoxFit.contain,
            height: 25,
          ),
          Container(
            padding: EdgeInsets.only(right: 1),
            child: Text(
              'TV 프로그램',
              style: TextStyle(fontSize: 14),
            ),
          ),
          Container(
            padding: EdgeInsets.only(right: 1),
            child: Text(
              '영화',
              style: TextStyle(fontSize: 14),
            ),
          ),
          Container(
            padding: EdgeInsets.only(right: 1),
            child: Text(
              '내가 찜한 콘텐츠',
              style: TextStyle(fontSize: 14),
            ),
          ),
        ],
      ),
    );
  }
}

답변 7

2

안녕하세요, cloud_firestore에서도 버전 문제로 프로젝트 빌드가 되지 않는것으로 보입니다... cloud_firestore 버전도 알려주실 수 있나요?

2

권태뽕님의 프로필 이미지
권태뽕
지식공유자

안녕하세요! 강의 들어주셔서 감사합니다.

앞선 질문에 대해 답변 못드리고 직접 해결하게 하여 죄송합니다ㅠㅠ

파이어베이스 관련 오류는 버전 지정 문제로 보이는데, 자동으로 너무 상위 버전 패키지를 가져오는 것 같습니다!

아래와 같이 버전 설정하여 다시 해보시겠어요?

firebase_core: ^0.2.5

0

답변주셔서 감사합니다^^

0

실제 쓰인 패키지입니다.

0

dependencies:
  flutter:
    sdkflutter
  carousel_slider:
  flutter_linkify:
  url_launcher:
  cloud_firestore:
  firebase_core:

0

ui 화면 백지화는 고쳤는데 firebase와 연동이 안됩니다ㅠㅠ 

0

[second] flutter pub get
Running "flutter pub get" in second...                          
Error on line 30, column 18 of pubspec.yaml: Invalid version constraint: Expected version number after "^" in "^3 + 0.4.4", got "3 + 0.4.4".

   ╷

30 │   firebase_core: ^3 + 0.4.4

   │                  ^^^^^^^^^^

   ╵
pub get failed (65;    ╵)
exit code 65
이진희[학생](예술디자인대학 님의 프로필 이미지
이진희[학생](예술디자인대학

작성한 질문수

질문하기