我在我的Android应用程序中使用查询并遇到一些麻烦。我的数据库最终会有数百或数千个轮询对象。我想一次大约20个,一旦我完成了20个,我会得到接下来的20个。我可以很容易地得到前20个但是当我尝试使用startAt()
时,查询就是没有得到任何东西。
这是我的代码:
pollQuery = rootRef.child(getString(R.string.poll_ref)).startAt(lastPollFromQuery).orderByChild(getString(R.string.timestamp_ref)).limitToFirst(numPollsToLoad);
我尝试使用Integer position
lastPollFromQuery
,目前正在使用String
(投票对象的关键字)。我也在startAt()
和orderByChild()
附近拖了一下,但这没什么用。
我做错了什么?
答案 0 :(得分:5)
您需要传入上次投票时的时间戳和密钥。假设您要从第一页到第二页,那么您需要知道第1页上次轮询的时间戳和密钥。
pollQuery = rootRef.child(getString(R.string.poll_ref))
.orderByChild("timestamp")
.startAt(timestampFromLastPollOfPage1, keyFromLastPollOfPage1)
.limitToFirst(numPollsToLoad);