마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Firebase 서버에서의 결과값 받아오기까지의 지연 어떻게 대처 해야하나요?

0 추천

비동기화 방식이지만 Firebase 에서 제공하는 리스너를 통해 이벤트 발생시 지속적으로 받는게 있지만

필요 없는 경우 addListenerForSingleValueEvent()를 이용하기도 하거든요?

그런데 이게 문제네요. 결과값을 받아오기 전에 내부 소스코드가 작동되어 필요한 데이터가 들어오

질않아 null 에러로 강제 종료되는 경우가 발생합니다.

sleep() 함수나 postDelayed 로 막연하게 일정 시간 잡아 놓는건 서버 상황에 제대로 대처하질 못하

더라고요. DB를 이용하는 어플들이 많을텐데 다들 어떻게 대응하시는건지 궁금하니다.

nickeun (540 포인트) 님이 2018년 4월 8일 질문
저도 이부분이 궁금한데 ㅠ 찾아봐도 잘안나오더라고요
필요한 데이터가 없으면 내부 소스코드가 실행안되게 하면되겟죵

아니면 아래처럼 데이터를 받아왓을때부터 실행하면 되는거 아닌가요;?

addListenerForSingleValueEvent(new ValueEventListener() {

    @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

        if(dataSnapshot.getValue() !=null) {

              // 내부 소스코드실행

        }

    }

}

소스를 모르니 질문의 의도를 잘 모르겟네요
어디 물어볼때도없거 답답했는데 ㅠㅠ  감사합니다.

1개의 답변

0 추천
보통은 프로그래스를 돌리거나, 로딩 중 이라는 글자 같은 걸로 보여주면 됩니다 ;;;;

리스너 달아놓고, 리스너 호출되면 다음 작업 하면 되고요.
쎄미 (162,410 포인트) 님이 2018년 4월 9일 답변
...