2016-08-27 3 views
0

kinvey 컬렉션에서 데이터를 가져 와서 db에 넣은 다음 로컬로 수정하고 싶습니다. 수정하기 전에 모든 데이터를 컬렉션에서 가져오고 싶습니다. 내 문제는 AsyncAppData를 통해 콜렉션을 얻는 것이 백그라운드에서 실행되기 때문에 내 작업이 불가능해진다.AsyncAppData를 Kinvey serial로 만들기

샘플 코드는 어떻게하지 비동기 프로그래밍의 기본 원리

//getting data 
ArrayList<String> runfunc = new ArrayList<String>();  
final AsyncAppData<EventEntityWhy> myevents4 = mKinveyClient.appData("WhyWorldTemp", EventEntityWhy.class); 
    myevents4.get(new KinveyListCallback<EventEntityWhy>() { 
     @Override 
     public void onSuccess(EventEntityWhy[]){ 
      for (EventEntityWhy x1 : result) { 
       String temp1 = (String) x1.get("whyindex"); 
       runfunc.add(temp1) 
      } 
     } 
     } 
//then processing will start 
//runfunc array will be processed here 

답변

1

을 표시하고, Kinvey는 패러다임을 바꿀 계획이 없다. 코드를 작성하는 적절한 방법은 메인 스레드가 아닌 onSuccess 콜백 내부에서 데이터를 처리하는 것입니다.

당신이 할 수있는 일은 콜백 내에 이벤트 플래그를 설정 한 다음 그 플래그를 기다리는 "// 처리가 시작됩니다"지점에서 웨이터를 만드는 것입니다.

+0

감사합니다. 알았다. 두 번째 단락을 구현하는 방법을 자세히 설명해 주시겠습니까? –

+0

내 전문 분야는 Kinvey이지만, 불행하게도 Java 프로그래밍이 아니므로 다른 사람들에게 최고의 연습을 제공 할 것입니다. –

관련 문제