>

서버용 Firebase Android SDK를 사용하는 채팅 프로젝트가 있습니다. 3 개월 후 내 응용 프로그램에 많은 사용자가 있고 서로 대화를 많이합니다. Firebase에서 모든 채팅 목록을로드하는 데 시간이 오래 걸립니다. 이제 Android SDK를 사용하여 Firebase에서 검색어를 페이징하는 방법이 궁금합니다.

이 링크 를 조사했습니다. 이 문제에 대한 쿼리 명령을 찾지 만 실패합니다. 첫 번째 또는 마지막에서 여러 행만 쿼리합니다. Firebase의 임의 위치에서 쿼리 할 수 ​​없습니다. skip 를 사용하는 예  그리고 take  쿼리 키입니다.

그에 관한 문서가 있다면. 말해줘 미리 감사드립니다.

  • 답변 # 1

    이 데모 Firebase Paginator를 사용해 보았습니다. 하지만 몇 가지 문제가 있습니다.

  • 답변 # 2

    skip() 와 같은 개념  또는 take()  Firebase 데이터베이스의 실시간 세계에 잘 맞지 않습니다. 그렇기 때문에 페이지 매김도 구현하기가 어려운 이유입니다. 기술적으로는 가능하지만 좋은 사용자 환경을 위해서는 사용자가 보는 동안 페이지의 데이터가 변경 될 수 있음을 명심해야합니다.

    페이지 매김을 구현하는 방법으로 돌아 가기 : startAt()  그리고 endAt()  메소드는 선택 사항 인 두 번째 매개 변수를 사용합니다 (이것은 (강조 광산)). 와이즈 비즈 와이즈 비즈      주어진

    를 사용하여 주어진 값 이상의 자식 노드 만 반환하도록 제한되는 쿼리를 만듭니다.
     지시문 또는 우선 순위를 기본값으로 지정하고주어진 키 이상의 키를 가진 하위 노드 만

    예를 들어 날짜별로 정렬 된 항목 목록이있는 경우 이전 페이지에서 마지막 항목의 날짜및 키를 전달하여 다음 페이지를 가져올 수 있습니다. 하나의 추가 항목 (보통 앵커 항목이라고 함)을 요청해야하지만 오버 헤드는 작아야합니다.

    public Query startAt (String value, String key)

관련 자료

  • 이전 javascript - angularjs의 헤더를 변경하는 방법 $httpjsonp
  • 다음 apache - htaccess로 URL에서 문자 제거