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()
페이지 매김 방법이있는 예제 만 있지만 그 방법으로는 실시간 업데이트가 없습니다.
이가 도움이 될 수 있음 당신 https://stackoverflow.com/questions/37711220/firebase-android-pagination –
링크에 대한 감사합니다,하지만이 새로운 경우 FireStore 데이터베이스가 아닙니다. – Jonny