0

标题可能不准确,所以让我准确描述我需要做什么: 我有一个人的数据库。我需要先将它们展示给用户最年轻的用户。它是一个带有ListView的Android应用程序(或想象一个网站,无论有什么帮助)。因此,对于第一个电话,我向呼叫者发送50个项目。当来电者滚动时,我想再发送50;等等。所以我下面的方法接受int index参数。但我不知道该把它放在哪里。当然,我想使用startAt但该方法期待游标。这里是我的代码如下如何使用光标与Objectify

public static Collection<Person> getYoungestKids(int index){ 
     return OfyService.ofy().load().type(Person.class).order("-dob").limit(50).list(); 
} 

回答

1

看看这个例子使用光标。使用偏移被认为是非常昂贵的。你应该总是使用游标进行分页。

https://github.com/objectify/objectify/wiki/Queries#cursor-example

+0

感谢您的链接。 +1。你能解释'if(continu)'块内的队列部分吗?我不明白为什么需要它。我正在使用谷歌云终端:所以我的应用程序引擎是一个Android项目中的模块。 –

+0

我不能简单地返回'cursor.toWebSafeString()'?而不是将其添加到队列?排队是什么?以及为什么添加一个网址? –

+0

我想我明白了。我还无法测试。但我正在阅读https://rominirani.com/google-cloud-endpoints-tips-5-using-cursor-and-limit-parameters-20d3e8865ac3#.urcm2nwc6,它似乎有所帮助。 –