我是Android新手。我正在弄清楚如何进行网络通话。我正在尝试将标头与JSON
数据一起发送。我尝试调试代码,但它不会onResponse()
。有人能告诉我我做错了什么。
以下是我的代码。
String url = "https://api.....";
RequestQueue requestQueue = Volley.newRequestQueue(this);
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("image", "https://i.imgur.com/5KdM.jpg");
jsonObject.put("subject_id", "Elixabeth");
jsonObject.put("gallery_name", "MyGallery");
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
if (response != null){
}
// do something...
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// do something...
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
final Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
headers.put("app_id", "");
headers.put("app_key", "");
headers.put("Content-Length", "124");
return headers;
}
};
requestQueue.add(jsonObjectRequest);
} catch (JSONException e) {
e.printStackTrace();
}
我在Postman中使用相同的数据尝试了相同的操作,我得到了回复。
答案 0 :(得分:0)
将日志放入其中 onResponse(JSONObject响应)方法 Log.d(&#34;响应&#34;,response.toString()); 和in onErrorResponse(VolleyError错误)方法 Log.e(&#34;错误&#34;,error.getMessage()); 。 然后查看logcat,你可以找到出错的地方......