更新时间:2023-01-01 18:18:55
为了使用截击发送一些后置参数,您必须重写getParams()
方法,该方法应以键值格式返回要发送的参数列表. /p>
请按照下面的代码段向服务器发送适当的post参数.
// Tag used to cancel the request
String tag_json_obj = "json_obj_req";
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put(DOCTOR_JSON_PARAM, data);
return params;
}
};
// Adding request to request queue
MySingleton.getInstance(this).addToRequestQueue(jsonObjReq, tag_json_obj);
I want to send a post request using volley. I have data in this format.
[{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"10:29:17","id":1},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"15:59:41","id":2},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"16:05:53","id":3},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"16:06:16","id":4},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"16:06:51","id":5},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"16:08:36","id":6},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"16:13:33","id":7},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"16:22:32","id":8},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"17:00:46","id":9},{"date":"24 Jul 2015","doctorEmail":"mohd.aquib09@gmail.com","doctorName":"aquib","time":"17:04:04","id":10}]
And I am getting response in this format
{"Message" : "Success"}
I have written this code to send request.
public void saveDataToServer(String data){
final String BASE_URL = "http://spirantcommunication.com/andriod/grl/doctor_visit_track1.php";
final String DOCTOR_JSON_PARAM = "doctorJson";
HashMap<String, String> params = new HashMap<>();
params.put(DOCTOR_JSON_PARAM, data);
JsonObjectRequest request = new JsonObjectRequest(BASE_URL, new JSONObject(params),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try{
VolleyLog.v("Response:%n %s", response.toString(4));
}catch (JSONException e){
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
MySingleton.getInstance(this).addToRequestQueue(request);
}
But I am not able to send it.Please somebody help me.
In order to send some post parameters using volley you have to override getParams()
method which should return list of parameters to be send in a key value format.
Kindly follow below code segment for sending proper post parameters to server.
// Tag used to cancel the request
String tag_json_obj = "json_obj_req";
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put(DOCTOR_JSON_PARAM, data);
return params;
}
};
// Adding request to request queue
MySingleton.getInstance(this).addToRequestQueue(jsonObjReq, tag_json_obj);