2017-12-14 9 views
0

私のアプリでは、標準非同期メソッド呼び出しによってOKHttp3を使用してWebリクエストヘルパークラスを持っています。すべてうまく動作しますが、最初の実行(新しいインストール後)のための私のスプラッシュアクティビティでは、Web要求は機能しません!しかし、私はアプリを閉じて、再びすべてを正常に動作する場合実行します。ここWebリクエストが最初のアプリケーションで動作しない

は私のコールバックインタフェースです。ここ

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

は、私はGoogleのボレーとそれの仕事でOKHttp3置き換える方法

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) { 

         } 
        } 
       }); 
      } 
     } 
    }); 
} 

とその私のスプラッシュ活動

@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

を呼んでいます私の場合!

関連する問題