inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Từ giới thiệu về phát triển ứng dụng Flutter đến hoàn thành dự án

Thử sử dụng mẫu Firebase

StreamBuilder 안에 에러입니다

701

goxo333

4 câu hỏi đã được viết

0

 

어떻게 해결하면 되나요?

Flutter

Câu trả lời 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

422

1

오류 확인 요청

0

232

1

개행 \n 관련 질문

0

350

0

플러터 플러그인 관련

0

266

1

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

0

277

1

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

0

327

1

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

0

187

0

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

0

290

1

hourStr 이해가 안갑니다.

0

235

1

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

0

235

1

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

0

378

1

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

0

196

1

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

0

200

0

IOS requestPermission 에러

0

336

1

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

0

217

1

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

0

203

1

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

1

232

1

milliseconds 동작이 이상합니다.

0

201

1

MAC 개발환경 구축하려면?

1

431

3

API KEY 관련

0

187

0

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

0

270

1

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

1

201

1

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

0

235

1