2014-06-09 3 views
1

활동을 입력 할 때 요청 가능한 상태는 세 가지가 있습니다.Robospice - 우리는 어떤 순서로 execute(), addListenerIfPending(), getFromCache()를 사용해야합니까?

  1. 아직, 청취자가 분리되는 과정에서
  2. 시작되지 않음
  3. 우리가 ONSTART()에서() 실행 사용하는 경우 문서에서

완료 요청, 나는 이해, 그것은을 담당 사례 1,3은 있지만 사례 2는 그렇지 않습니다 (요청이 진행 중일 때). 우리는 내가 사용하는

해결을 위해 addListenerIfpending()를 사용하는 ONSTART()에서 사용 addListenerIfPending을()입니다해야하고, 나는 이것이 올바른 방법 있는지 알고 싶어) (onRequestNotFound에

protected void onStart(){ 
    super.onStart(); 
    getSpiceManager().addListenerIfPending(my.class,"mykey",new myRequestListener()); 
} 


    public final class myRequestListener implements PendingRequestListener<result> { 

    @Override 
    public void onRequestFailure(SpiceException spiceException){ 

    } 

    @Override 
    public void onRequestSuccess(final RoundInfo roundInfo) { 

    } 

    @Override 
    public void onRequestNotFound(){ 

     getSpiceManager().execute(request,"mykey", DurationInMillis.ONE_DAY,new myRequestListener()); 
    } 
} 

을 실행 사용 , 그것이 의미하는 방식입니다. 어떤 성능이

답변

1

없음을 문제가 될 경우

또한, 첫 번째 문은 잘못, 의견을주십시오.

execute()은 모두 3 가지 경우를 담당합니다.

addListenerIfPending은 자체적으로 요청을 트리거하지 않으며 요청이있을 경우 이미 대기중인 요청에만 리스너를 연결할 수 있습니다. 그래서 case 2.

+0

그래서 onStart()에서 execute()를 사용하면됩니까? – jaffa

+0

예. 그 정도면 충분합니다. – Snicolas