0
まあ、私は(それはあまりにもハードしようとした)ので、具体的かつ明確ではないタイトルのために謝罪、私はこの機能に手動で自動化された機能を制御
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を持ち、2番目のオブジェクトはオフセット1を持ちます。 dataQuery.setOffsetを使用してオフセットを設定すると、指定されたオフセットからオブジェクトの次の「ページ」をロードするようにサーバーに指示します。 –