私は、ボレーライブラリを使用してウェブサービスを打っています。それはアンドロイドでボレーのポストリクエストでヘッダーを添付できません
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.e("response", response.toString());
pDialog.hide();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e("Error: " + error.getMessage());
Toast.makeText(getActivity(), R.string.txt_error_occured, Toast.LENGTH_LONG).show();
pDialog.hide();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("policyNo", policyNo);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> params = new HashMap<String, String>();
params.put("Content-Type", "application/x-www-form-urlencoded");
params.put("Content-Type", "application/json; charset=utf-8");
params.put("User-agent", "My useragent");
return params;
}
};
//リクエストを追加すると要求するため
//コード:このライブラリでは、すなわち「ヌルonErrorResponseを」私がリクエストを投稿するヘッダを添付する必要がありますが、Webサービスを叩きながら、私はエラーを取得していますキュー AppController.getInstance()。addToRequestQueue(jsonObjReq、tag_json_obj);
に動作しますか? –
このようにしてみてください。 'JsonObjectRequest'の代わりに' StringRequest'を使用し、パラメータに 'Content-Type'を追加しないで、値に必要なパラメータだけを渡します。ときどきレスポンスがjsonの文字列になると、初心者はJSONを使わなければならないと思うが、通常の 'StringRequest'が必要になるはずです。 –