• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

progressindicator 질문

20.08.16 05:03 작성 조회수 156

0

강의에서 팁을 주신대로 

firestore에 올리는 동안 progressindicator를 띄울려면 어떤 방식으로 띄워야하나요 ??
progressindicator관련 참고할 수 있는  예시 코드가  현재까지

if(!snapshot.hasData){
// 데이터가 없으면 progressbar 반복
return Center(child: CircularProgressIndicator(),);
}

이거뿐인데요  

final storageTaskSnapshot = await task.onComplete;final storageTaskSnapshot = await task.onComplete;

위 코드를 변형하여 firestore의 작업이 끝날때까지 기다린다. 라는 코드를 쓰서 progressindicator를 나타내는 것같습니다만, 관련 메소드를 못찾는 상황입니다.

final firebaseTaskSnapshot 도 없는 상황이고요

도움 주시면 감사드리겠습니다  

답변 2

·

답변을 작성해보세요.

0

이보성님의 프로필

이보성

질문자

2020.08.17

항상 꼼꼼하고 친절한 답변 감사드립니다

말씀하신대로 해보겠습니다 !!

0

힌트를 드리자면 다음과 같은 방식으로 로딩중임을 저장할 전역 변수를 만들어 두고
onPressed 속성에 실행될 코드를 async 로 선언하고
업로드 진행할 함수 앞에 await 붙여서 대기하도록 만들고
앞 뒤로 isProgressing 값을 변경하며 setState 하여 UI를 다시 그리도록 합니다.
그리고 위 progressIndicator 예시 코드에서 if 문 안에 isProgressing 을 조건으로 넣으면 되겠지요

var isProgressing = false;

...

FlatButton(

  onPressed: () async {

    setState() {

      isProgressing = true;

    }

    await _uploadFile(context);

    setState() {

      isProgressing = false;

    }    

  },

  child: Text('공유'),

)