loopjのasync http libraryを使用してPOSTをサーバーに送信しようとしています。次のコードはかなり標準ですが、私はそれを動作させることはできません。AsyncHttpRequest POSTがコールバックを起動していません(loopjによるandroid-async-http)
私はかなりデバッグしているし、次のことを確認しています
- URLが正しいです。
- paramsは正しく、params変数に正しく格納されます。
HttpResponse response = client.execute(request, context);
がAsyncHttpRequest.makeRequest()
に呼び出されたときに、要求がどんなのparamsが含まれていないことが表示されます:
EDIT:もう少しコードを見た後、POSTのparamsが含まれるかもしれないようですエンティティまたはヘッドグループ。
しかし、本当の問題は、私はコールバックのいずれかを取得しないということである(以下のコードを参照してください)。 client.execute()
呼び出しの後のif
ステートメントは、決して呼び出されません(ブレークポイントはトリガーされません)。
RequestParams params = new RequestParams();
params.put("loginid", "user");
params.put("password", "pass");
params.put("deviceid", "deviceid");
AsyncHttpClient client = new AsyncHttpClient();
client.post(MDSettings.BASE_URL + "/user/login", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
Log.d(MDSettings.TAG, "MDConnectionManager - login - response: " + response);
singleton.connectionSuccessful(response, returnIndex);
}
@Override
public void onFailure(Throwable error, String content) {
Log.d(MDSettings.TAG, "MDConnectionManager - login - content: " + content);
singleton.connectionFailed("Login Failed", error.getMessage(), returnIndex);
}
});
私はこのプロジェクトに後で必要とするファイルを送信できるので、このライブラリを使用しています。同じ事をしている(そして実際に働く)別のライブラリがあれば、それは私とうまくいくでしょう。
私の質問は次のとおりです。なぜコールバックを取得できないのですか?これをどのように修正できますか?何かが明確でない時に私に教えてください。私はもっと深く説明しようとします。
このユーザー/ログインファイルに関していくつか議論することは可能ですか? –
あなたは何を知りたいですか?私は 'onSuccess()'と 'onFailure()'コールバックが呼び出されていないことを意味する 'Log.d()'メッセージが表示されないので、何も表示する必要はないと思います。 – Manuel
私はあなたに尋ねるので、無効なパラメータのために何回かjson応答が生成されないからです。 –