강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

20141025059502 のプロフィール画像
20141025059502

投稿した質問数

Flutter + FirebaseでNetflix UIクローンをコーディングする[ランダムフラッター]

フラッターとファイアベースの連携 - 2) フラッターコードの作成

firebase 모델 적용 후 ui화면 오류

解決済みの質問

作成

·

981

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),
            ),
          ),
        ],
      ),
    );
  }
}
firebaseFlutter클론코딩

回答 7

2

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

2

taebbong님의 프로필 이미지
taebbong
インストラクター

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

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

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

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

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
20141025059502 のプロフィール画像
20141025059502

投稿した質問数

質問する