ここにある非同期HTTPクライアントを使用しています:http://loopj.com/android-async-http/
そして、それはうまく機能しますが、私が行うリクエストの約10分の1に加えて、無限の進行状況ダイアログが表示されることになります。これは、onSuccessでダイアログを閉じるコードを記述したため、何らかの理由でいかなる種類の応答も返されないことを意味すると信じていますそして onFailure なので、これがどのように起こるのか少し混乱しています。
リクエストを設定するコードは次のとおりです。
public static void post(String token,String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
Log.i(token,"token");
client.addHeader("token", token);
client.setTimeout(3000);
client.post(url, params, responseHandler);
}
そして、ここで onSuccess と onFailure をオーバーライドします。
@Override
public void onFailure(Throwable arg0, String arg1) {
// TODO Auto-generated method stub
super.onFailure(arg0, arg1);
pdialog.dismiss();
Log.i("failed to login", arg1.toString());
Toast.makeText(getActivity(), arg1.toString() , Toast.LENGTH_LONG).show();
}
@Override
public void onSuccess(final JSONObject json) {
pdialog.dismiss();
}