2017-12-28 28 views
0

addSnapshotListener으로 실시간 업데이트를 사용할 때 새로운 FirebaseFirestore 데이터베이스에 페이지를 매기는 방법을 알고 싶습니다.Android Firebase FireStore 실시간 업데이트 페이지 매기기

문제는 내가 일단 쿼리를 설정하면 limit()을 업데이트 할 수 없다는 것입니다. 따라서 동일한 제한이 유지되며 더 많은 데이터를로드 할 수 없습니다.

private Query query = db.collection("groups").orderBy("id", Query.Direction.DESCENDING).limit(15); 

그 쿼리 매개 변수는, 나는 데이터베이스 리스너 (나는 그것은 또한 addSnapshotListener 방법에 활동을 전달하는 일을 할 수있어)를 제거하기 위해 ListenerRegistration 있습니다

내가 현재 가지고있는 것입니다 .

는 데이터를 가져올 수있는 코드 :

말했다됨에 따라
registration = query.addSnapshotListener(this, new EventListener<QuerySnapshot>() { 
    @Override 
    public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) { 
     mGroupArrayList.clear(); 

     if (e != null) { 
      Log.w("MAINACTY", "listen:error", e); 
      return; 
     } 

     for (DocumentSnapshot dc : documentSnapshots.getDocuments()) { 
      // Get the last visible document 
      lastVisible = documentSnapshots.getDocuments() 
        .get(documentSnapshots.size() - 1); 

      mGroupArrayList.add(dc.toObject(Group.class)); 
     } 

     adapter.notifyDataSetChanged(); 
    } 
}); 

, 문제는 내가 먼저 질의에 설정된 제한을 업데이트 할 수 있다는 것입니다, 나는 새 쿼리를 수행하려고 할 경우 정보를 편집하거나 활동을 떠날 때 이전 정보가 사라집니다.

설명서에는 get() 페이지 매김 방법이있는 예제 만 있지만 그 방법으로는 실시간 업데이트가 없습니다.

+0

이가 도움이 될 수 있음 당신 https://stackoverflow.com/questions/37711220/firebase-android-pagination –

+0

링크에 대한 감사합니다,하지만이 새로운 경우 FireStore 데이터베이스가 아닙니다. – Jonny

답변

1

나는이 코드를 Recyclerview Firestore 페이지 매김을위한 github에서 만들고 있습니다. 아마도이 문제가 여러분의 문제를 해결하는 데 도움이 될 것입니다.

https://github.com/Malik333/RecyclerviewFirestorePagination

+0

흥미 롭다면, 당신은 앱을 떠날 때 초기 데이터가 사라지지 않는 반환 (홈 버튼으로 죽이지 않고)을 말해 줄 수 있습니까? 그리고 firebase 콘솔에서 실시간으로 항목을 편집 할 때 첫 번째 쿼리 데이터가 사라지나요? 나는 페이지 매김을 달성하기 때문에이 문제에 직면하고 있지만, 편집하거나 새 정보를 추가 할 때나 내가 앱을 종료하고 홈 버튼으로 돌아올 때 오래된 쿼리 데이터가 사라집니다. – Jonny

+0

흠. 문제가 뭔지 잘 모르겠다. 문제가 뭔지 잘 이해하지 못하기 때문이다. 어쩌면 mGroupArrayList.clear(); 모든 업데이트 또는 새로운 데이터를 수집 할 때마다 목록이 삭제되고 새로운 데이터로 업데이트되므로 문제가 잘 이해되면됩니다. 원하는 경우 코드를 보내 주시면 도와 드리겠습니다. – Unofficialpage

+0

어디서 연락 할 수 있습니까? – Jonny