0
잘 나는 너무 구체적이고 (그것을 위해 너무 열심히 노력) 명확한 제목없는 사과, 그래서 나는 이제 위의 함수는의 요청에 따라 10 items
를 가져 오는되는이 기능을자동화 된 기능을 제어 수동
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 개 항목을로드 한 다음 다시 요청하지 않고 수동으로 작업을 수행합니다. 다음 버튼을 클릭 10 항목) 누군가가 올바른 방향으로 나를 안내 할 수 있다면 그것은 나를 위해 그렇게 도움이 될거야
답장을 보내 주셔서 감사합니다.이'dataQuery.setOffset (offset)'을 설명해 주시겠습니까? –
서버에서로드 된 모든 객체가 순차적으로 구성됩니다. 첫 번째 객체에는 0 오프셋이 있고 두 번째 객체에는 1 오프셋이 있습니다. dataQuery.setOffset을 사용하여 오프셋을 설정할 때 서버가 지정된 오프셋에서 객체의 다음 "페이지"를로드하도록 지시합니다. –