2017-12-14 2 views
0

표준 비동기 메서드 호출을 통해 OKHttp3을 사용하여 웹 요청 도우미 클래스가 있습니다. 모든 것이 제대로 작동하지만 처음 실행 (새 설치 후) 웹 요청이 작동하지 않는 것을위한 나의 스플래쉬 활동에서! 하지만 앱을 닫고 다시 실행하면 모든 것이 잘 작동합니다. 내가 구글 발리로 OKHttp3을 대체웹 요청이 앱 실행에 처음으로 작동하지 않습니다.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    context = this; 

    WebHelper wh = new WebHelper(context); 
    wh.getStatus(new WebResult() { 
     @Override 
     public void onValue(Object value) { 
      ServerStat r = (ServerStat) value; 
      if (r.getErrorCode() == 0) { 
       Toast.makeText(context, r.getErrorMsg(), Toast.LENGTH_LONG).show(); 

      } else { 
       Toast.makeText(context, r.getErrorMsg(), Toast.LENGTH_LONG).show(); 
      } 
     } 
    }); 


} 
+0

코드를 공유 하시나요? –

+0

여기 내 코드 –

+0

누군가 제발 나를 도와 드릴까요? –

답변

0

여기
public interface WebResult<T> { 
void onValue(T value);} 

하는 호출 방법

public void getStatus(final WebResult result) { 
    urlBuilder.addQueryParameter("action", "test"); 
    urlBuilder.addQueryParameter("reqbody", cd.toJSON()); 

    String url = urlBuilder.build().toString(); 

    Request request = new Request.Builder() 
      .header("Authorization", AuthKey) 
      .url(url) 
      .build(); 

    client.newCall(request).enqueue(new Callback() { 
     @Override 
     public void onFailure(Call call, IOException e) { 
      setHasError(true); 
      setMsg(e.getMessage()); 
     } 

     @Override 
     public void onResponse(Call call, final Response response) throws IOException { 
      if (!response.isSuccessful()) { 

       throw new IOException("Unexpected code " + response); 
      } else { 
       iAct.runOnUiThread(new Runnable() { 
        public void run() { 
         try { 
          String s = response.body().string(); 
          ServerStat r = new ServerStat(); 
          r.fromJSON(s); 

          result.onValue(r); 
          return; 
         } catch (IOException e) { 

         } 
        } 
       }); 
      } 
     } 
    }); 
} 

과 내 시작 활동과 작업입니다 : 여기

내 콜백 인터페이스입니다 나의 경우에는!

관련 문제