Android 如何使用截击向服务器发送数据?
我想使用Volley以以下格式向服务器发送数据。我该怎么做 [ ['cid'=>1,'pid'=>1,'quantity'=>5,'rid'=>1,'eid'=>1,'did'=>1,'takenAt'=>2017-07-24 04:03:23'], ['cid'=>1,'pid'=>1,'quantity'=>5,'rid'=>2,'eid'=>1,'did'=>1,'takenAt'=>2017-07-24 04:03:23'], ['cid'=>1,'pid'=>1,'quantity'=>5,'rid'=>3,'eid'=>1,'did'=>1,'takenAt'=>2017-07-24 04:03:23'] ]; 到目前为止,我已经这样做了,但它引发了一个例外Android 如何使用截击向服务器发送数据?,android,android-volley,Android,Android Volley,我想使用Volley以以下格式向服务器发送数据。我该怎么做 [ ['cid'=>1,'pid'=>1,'quantity'=>5,'rid'=>1,'eid'=>1,'did'=>1,'takenAt'=>2017-07-24 04:03:23'], ['cid'=>1,'pid'=>1,'quantity'=>5,'rid'=>2,'eid'=>1,'did'=>1,'takenAt'=>2017-07-24 04:03:23'], ['cid'=>1,'pid'=>1,'quantity'=
StringRequest stringRequest = new StringRequest(Request.Method.POST, Constant.API_SUBMIT_ORDER, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("DATA", "RESPONSE===" + response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}) {
@Override
protected Map<String, String> getParams() {
Calendar cal = Calendar.getInstance();
String time2 = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss a ").format(cal.getTime());
Map<String, String> orders = new HashMap<>();
for (int i = 0; i < myProductArrayList.size(); i++) {
orders.put("cid", "1");
orders.put("skuid", myProductArrayList.get(i).getProductId());
orders.put("qty", "50");
orders.put("rid", "1");
orders.put("eid", "mukulsingh");
orders.put("did", "1");
orders.put("takenAt", time2);
}
return orders;
}
};
stringRequest.setRetryPolicy(new DefaultRetryPolicy(
MY_SOCKET_TIMEOUT_MS,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
StringRequest-StringRequest=new-StringRequest(Request.Method.POST、Constant.API\u SUBMIT\u ORDER、new-Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.e(“数据”,“响应==”+响应);
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
错误。printStackTrace();
}
}) {
@凌驾
受保护的映射getParams(){
Calendar cal=Calendar.getInstance();
String time2=new java.text.simpleDataFormat(“yyyy-MM-dd HH:MM:ss a”).format(cal.getTime());
映射顺序=新的HashMap();
对于(int i=0;i
尝试使用这些类
自愿请求
public class VollyRequests {
public void MakeStrRequest(final String Tag, String url, final ArrayList<RequestModel> list, final ResponceLisnter responceLisnter, final String HeaderKey) {
MyLog.ShowLog("Url", url);
StringRequest sr = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
responceLisnter.getResponce(response, Tag);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
responceLisnter.getResponceError(VollyError.TIMEOUT_ERROR, Tag);
} else if (error instanceof AuthFailureError) {
responceLisnter.getResponceError(VollyError.AUTH_ERROR, Tag);
} else if (error instanceof ServerError) {
responceLisnter.getResponceError(VollyError.SERVER_ERROR, Tag);
} else if (error instanceof NetworkError) {
responceLisnter.getResponceError(VollyError.NETWORK_ERROR, Tag);
}
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
if (list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
//MyLog.ShowLog(list.get(i).getKey(), list.get(i).getValue());
params.put(list.get(i).getKey(), list.get(i).getValue());
}
}
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put(WebKeys.Headerkey, HeaderKey);
return params;
}
};
AbcApplication.getInstance().getRequestQueue().add(sr);
sr.setRetryPolicy(new DefaultRetryPolicy(50000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
}
}
public class AbcApplication extends Application {
//Static value Holders.
private static AbcApplication mInstance;
public static Context context;
private RequestQueue mRequestQueue;
public static int captureImgCount = 0;
public static synchronized AbcApplication getInstance() {
return mInstance;
}
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
mRequestQueue = Volley.newRequestQueue(this);}
public RequestQueue getRequestQueue() {
return mRequestQueue;
}
RequestModel
public class RequestModel {
String Key;
String Value;
public ArrayList<JSONObject> getJsonObjects() {
return jsonObjects;
}
public void setJsonObjects(ArrayList<JSONObject> jsonObjects) {
this.jsonObjects = jsonObjects;
}
ArrayList<JSONObject> jsonObjects;
public RequestModel(String key, String value) {
this.Key = key;
this.Value = value;
}
public RequestModel(String key, ArrayList<JSONObject> jsonObjects) {
this.Key = key;
this.jsonObjects = jsonObjects;
}
public String getValue() {
return Value;
}
public void setValue(String value) {
Value = value;
}
public String getKey() {
return Key;
}
public void setKey(String key) {
Key = key;
}
}
如何调用截击类:
public void callingrequest(){
VollyRequests vollyRequest =new VollyRequests();
ArrayList<RequestModel> list = new ArrayList<>();
list.add(new RequestModel(key, value));
vollyRequests.MakeStrRequest(Tag, WebUrl, list, responceLisnter, HeaderKey);
}
private ResponceLisnter responceLisnter = new ResponceLisnter() {
@Override
public void getResponce(final String responce, String Tag) {
// here is responce
}
@Override
public void getResponceError(String errorStr, String Tag) {
// here is error
}
};
public void callingrequest(){
VollyRequests vollyRequest =new VollyRequests();
ArrayList<RequestModel> list = new ArrayList<>();
list.add(new RequestModel(key, value));
vollyRequests.MakeStrRequest(Tag, WebUrl, list, responceLisnter, HeaderKey);
}
private ResponceLisnter responceLisnter = new ResponceLisnter() {
@Override
public void getResponce(final String responce, String Tag) {
// here is responce
}
@Override
public void getResponceError(String errorStr, String Tag) {
// here is error
}
};
public class AbcApplication extends Application {
//Static value Holders.
private static AbcApplication mInstance;
public static Context context;
private RequestQueue mRequestQueue;
public static int captureImgCount = 0;
public static synchronized AbcApplication getInstance() {
return mInstance;
}
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
mRequestQueue = Volley.newRequestQueue(this);}
public RequestQueue getRequestQueue() {
return mRequestQueue;
}