2016-08-20 5 views
0

Я видел примеры результатов Backendless.Persistence.of, сохраненных как в List<E>, так и в BackendlessCollection<E>.Когда использовать BackendlessCollection vs List with Backendless.Persistence.of

Что рекомендуется использовать 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); 

ответ

0

Сводка и Бездействующий выбор не отличаются. BackendlessCollection содержит несколько страниц (которые вы можете получить как список), поэтому можно сказать, что BackendlessCollection состоит из списков.

UPD: Вы получите BackendlessCollection всякий раз, когда вы звоните find() метод SDK. Эта основная причина, по которой этот класс должен существовать, состоит в том, что если у вас есть, скажем, 1000 строк, неэффективно получить их все сразу, так как это займет много времени. Так, BackendlessCollection изначально имеет только первые 10 из них, по умолчанию. Этот номер называется размером страницы.

Для работы с объектами необходимо получить их от BackenlessCollection. Вы делаете это с помощью метода BackendlessCollection.getCurrentPage(), который возвращает List с 10 объектами, по умолчанию. После этого вы можете работать с ним так же, как с любым другим списком объектов в Java.

Тогда вы можете получить больше, чем только первые 10 объектов, поэтому теперь вы вызываете метод BackendlessCollection.nextPage(), который возвращает еще один BackendlessCollection, который теперь содержит объекты от 10 до 20. Опять же, чтобы работать с ними, вам необходимо получить внутренний List с использованием метода BackendlessCollection.getCurrentPage() и использовать следующие 10 объектов.

+0

Благодарим за отзыв. Я надеялся, что вы скажете что-то вроде: используйте List , когда хотите XXX, и вы используете BackendlessCollection , когда хотите сделать YYY. Список может это сделать, но BackendlessCollection не может и BackendlessCollection может сделать это, но List не может. Основываясь на вашем ответе, я все еще не знаю, когда и почему каждый должен использоваться. –

+0

Добавлены некоторые подробности, надеюсь, что это поможет. – Scadge