Ну, я прошу прощения за не настолько специфичны и понятным названием (пытался слишком трудно для него), так что я эту функциюуправлять автоматизированным вручную
public void fetchData(){
dataQuery.setPageSize(10); // fetch 10 items per request
final boolean[] firstResponse = {true};
final CountDownLatch latch = new CountDownLatch(1);
// a callback of fetching data from server
Backendless.Data.of(Note.class).find(dataQuery, new AsyncCallback<BackendlessCollection<Note>>() {
@Override
public void handleResponse(BackendlessCollection<Note> notes) { // here we have the response of request
/// loop for requesting for items until all of them is fetched//////
if(firstResponse[0])
{
firstResponse[0] =false;
}
int size = notes.getCurrentPage().size();
if(size > 0)
notes.nextPage(this);
else
latch.countDown();
//////////////////////////////////
/// do whatever I want with the fetched data
}
@Override
public void handleFault(BackendlessFault fault) {// here we have the error of request
swipeToReload.setRefreshing(false);
Toast.makeText(getContext(), "" + fault.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
так что теперь выше функция выборки 10 items
по запросу в цикл, и этот цикл выполняется до тех пор, пока все данные не будут восстановлены, я хочу, чтобы этот цикл выполнялся вручную (при нажатии кнопки я хочу загрузить первые 10 элементов, а затем вместо запроса снова хочу, чтобы он работал вручную, следующие 10 пунктов при нажатии кнопки), если кто-нибудь может направлять меня в правильном направлении, тогда это будет так полезно для меня
Большое спасибо за отзыв, не могли бы вы объяснить это 'dataQuery.setOffset (offset)'? –
все объекты, загруженные с сервера, организованы последовательно. Первый объект имеет смещение 0, второе имеет смещение 1 и т. Д. Когда вы устанавливаете смещение с помощью dataQuery.setOffset, вы указываете серверу загружать следующую «страницу» объектов из указанного смещения. –