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

时间:2016-08-20 20:23:00

标签: java backendless

我已经看到Backendless.Persistence.ofList<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 );

1 个答案:

答案 0 :(得分:0)

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

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

要使用这些对象,您需要从BackenlessCollection检索它们。您使用BackendlessCollection.getCurrentPage()方法执行此操作,默认情况下返回带有10个对象的List。之后,您可以像使用Java中的任何其他对象列表一样使用它。

然后你可能想要检索的不仅仅是前10个对象,所以现在你调用BackendlessCollection.nextPage()方法,它返回另一个BackendlessCollection,现在包含从10到20的对象。再次,工作使用它们,您需要使用List方法检索内部BackendlessCollection.getCurrentPage(),然后使用这10个对象。