何时使用 BackendlessCollection 与 List with Backendless.Persistence.of

When to use BackendlessCollection vs List with Backendless.Persistence.of

我看到 Backendless.Persistence.of 结果存储在 List<E>BackendlessCollection<E> 中的示例。

使用 BackendlessCollection 代替 List 有什么建议?

// https://backendless.com/documentation/data/android/data_relations_retrieve.htm
List<Contact> result = Backendless.Persistence.of( Contact.class ).find( dataQuery ).getCurrentPage();


// https://backendless.com/feature-17-data-paging-or-how-to-efficiently-load-large-data-sets-in-a-mobile-app/
BackendlessCollection<Restaurant> restaurants = Backendless.Persistence.of(Restaurant.class).find( dataQuery );

List 和 BackendlessCollection 不一样。 BackendlessCollection 包含多个页面(您可以将其作为列表获取),因此可以说 BackendlessCollection 由列表组成。

更新: 每当您调用 SDK 的 find() 方法时,您都会收到一个 BackendlessCollection。这个 class 必须存在的主要原因是,如果您有 1000 行,一次检索它们的效率不高,因为这会花费很多时间。所以 BackendlessCollection 默认情况下最初只有前 10 个。此数字称为 页面大小

为了使用这些对象,您需要从 BackenlessCollection 中检索它们。你用 BackendlessCollection.getCurrentPage() 方法来做到这一点,默认情况下,returns 一个 List 有 10 个对象。之后,您可以像处理 Java.

中的任何其他对象列表一样使用它

然后您可能想要检索的不仅仅是前 10 个对象,所以现在您调用 BackendlessCollection.nextPage() 方法,其中 returns 另一个 BackendlessCollection,现在包含从 10 到20. 同样,要使用它们,您需要使用 BackendlessCollection.getCurrentPage() 方法检索内部 List 并使用接下来的 10 个对象。