inflearn logo
강의

講義

知識共有

フラッターアプリ開発入門からプロジェクト完成まで

Firebaseのサンプルを活用してみる

StreamBuilder 안에 에러입니다

702

goxo333

投稿した質問数 4

0

 

어떻게 해결하면 되나요?

Flutter

回答 5

0

goxo333

네 강사님 강의대로 넣었습니다

0

inreason00670

파이어 스토어 패키지가 업데이트되어 문법적으로 많은 부분이 변경되었습니다.

최신 버전을 통한 데이터 획득은 다음의 코드를 이용하여 사용하실 수 있습니다.

return Scaffold(
      appBar: AppBar(
        title: Text('firebase'),
      ),
      body: StreamBuilder<QuerySnapshot>(
        stream: FirebaseFirestore.instance.collection('test').snapshots(),
        builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot){
          if (!snapshot.hasData) return LinearProgressIndicator();
          return ListView(
              children: snapshot.data!.docs.map((DocumentSnapshot document) {
                Map<String, dynamic> data = document.data()! as Map<String, dynamic>;
                return Text(data['name']);
              }).toList(),
          );
        },
      ),
    );

 

해당 강의에서는 0.13.7 버전을 이용하기에 최신 버전으로 강의를 수강하실 경우 많은 어려움이 발생할 수 있습니다.

가능한 다음의 파일을 다운로드 하셔서 강의와 동일한 버전으로 패키지 설치를하여 수강하시는 걸 추천드립니다.

설치 파일 다운로드

 

감사합니다.

0

goxo333

1번은 올리는데요 말씀하신 2번은 이해가 안됩니다 파이어베이스에 저장된 값이 뭔지를 모르겠어요...

0

goxo333

혹시 이건가요

0

inreason00670

파이어베이스를 이용하기 위해서 firebase 데이터베이스에 test 컬렉션에 test1 문서와 name에 admin이라는 데이터를 넣었습니다.

코드에 작성한 이름과 저장된 데이터의 이름이 일치하는지 확인이 필요할 것 같습니다.

0

goxo333

변경하고 실행했는데 흠.. 뭐가 문제일까요? 제가 중간에 빼먹은 코드가 있는걸까요??

0

inreason00670

혹 플러터와 클라우드 파이어 스토어 패키지의 버전이 몇 버전이실까요?

해당 강의는 1.17.5 버전 플러터와 0.13.7 버전 클라우드 파이어 스토어 패키지 기준으로 구성되어 있습니다.

패키지 버전 변경에 따라 코드를 변경해야 할 것 같습니다.

 

그리고 파이어베이스에 저장된 값을 보내주실 수 있으실까요

데이터가 다르게 기록되서 발생할 수 있는 문제로 보입니다.

 

다음의 정보들을 부탁드립니다.

1. 플러터와 패키지 버전

2. 파이어베이스에 저장된 값

0

goxo333

그대로 복사해서 썼는데 이제는 이런 오류가 뜨는데요... 
이런 오류 하나 해결못하는 제가 너무 답답하네요ㅠㅠ

0

inreason00670

안녕하세요 강사 권승민입니다.

원래 새로운 프레임워크를 공부하실 때에는 시행착오가 있으실 수 밖에 없습니다!

안되시는 부분이 있으시더라도 걱정하지 마시구 최대한 수월하게 해결해드릴 수 있도록 노력하겠습니다

 

질문해주신 부분은 오류 발생 코드를 다음으로 변경 부탁드립니다.

return Text(snapshot.data)

 

감사합니다.

0

inreason00670

안녕하세요 강사 권승민입니다.

ㅤ 

보내주신 사항 확인했습니다.

현재 데이터가 Object가 아닌 Map을 반환해야 하는 것으로 보입니다.

오류가 발생하는 부분을 다음과 변경하여 출력되는 내용을 보내주시면 문제 해결에 도움이 될 것 같습니다.

아래의 코드를 통해 현재 snapshot에 어떤 데이터가 들어있는지 추가로 보내주시면 감사하겠습니다.


return Text(snapshot.data['name'])  →  return Text(snapshot.data)

Streambuilder의 ListView 에러

0

422

1

field type에 Nullable 선언을 하지 않아도 에러가 발생하지 않는 이유가 뭔가요?

0

423

1

오류 확인 요청

0

233

1

개행 \n 관련 질문

0

352

0

플러터 플러그인 관련

0

267

1

개발환경 구축에서부터 막혔습니다ㅜㅜ

0

278

1

강의 중 궁금한내용 질문입니다

0

328

1

영어로 된 용어의 발음이 너무 이상합니다. 조금 더 신경써주세요.

0

187

0

저는 왜 AndroidX 체크박스가 안뜰까요

0

291

1

hourStr 이해가 안갑니다.

0

235

1

설치 프로그램 관련해서요...ㅠ

0

235

1

설명란의 해당링크는 어디있는 건가요?

0

379

1

맥북용 안내가 있었으면 합니다. ㅠㅠ

0

196

1

문법이 달라진 거 같습니다.

0

200

0

IOS requestPermission 에러

0

339

1

1:1 강의도 하시는지요?

0

218

1

함수 1번 연습문제 질문 있습니다.

0

203

1

산술 연산 설명이 누락되었습니다.

1

232

1

milliseconds 동작이 이상합니다.

0

202

1

MAC 개발환경 구축하려면?

1

433

3

API KEY 관련

0

188

0

프로젝트 설명란에 코드가 있다고 하셨는데요?

0

273

1

editor에 사용하시는 폰트 알려주시면 감사하겠습니다.

1

203

1

'설명창'은 어디를 말씀하시나요?

0

237

1