如何在android中使用截击发送ArrayList?
如何在android中使用截击发送ArrayList, 如何在HashMap中使用ArrayList?如何在android中使用截击发送ArrayList?,android,hashmap,android-volley,Android,Hashmap,Android Volley,如何在android中使用截击发送ArrayList, 如何在HashMap中使用ArrayList? 像Map我不知道如何在HashMap中使用ArrayList? 但是 对于使用截击发送ArrayList,您可以这样做 private void sendData(ArrayList list) throws JSONException { JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POS
像
Map我不知道如何在HashMap中使用ArrayList?
但是
对于使用截击发送ArrayList,您可以这样做
private void sendData(ArrayList list) throws JSONException {
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST, YOUR_URL, setJsonObject(list)/*This is the function you need*/, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage(),Toast.LENGTH_SHORT).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(LogInActivity.this);
requestQueue.add(jsonObjReq);
}
//create json object that contain ArrayList contents
private JSONObject setJsonObject(َArrayList list) throws JSONException {
JSONObject jsonobject_one = new JSONObject();
JSONArray jsonArray = new JSONArray();
for(int i =0 ; i<list.size ; i++) {
JSONObject jsonobject = new JSONObject();
jsonobject .put("param"+i, list.get(i) );
jsonArray.put(jsonobject);
}
jsonobject_one.put("params_array",jsonArray);
return jsonobject_one;
}
private void sendData(ArrayList列表)抛出JSONException{
JsonObjectRequest JSONObjectReq=新的JsonObjectRequest(Request.Method.POST,您的URL,setJsonObject(list)/*这是您需要的函数*/,new Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
d(标记,“Error:+Error.getMessage(),Toast.LENGTH\u SHORT.show();
}
});
RequestQueue RequestQueue=Volley.newRequestQueue(LogInActivity.this);
add(jsonObjReq);
}
//创建包含ArrayList内容的json对象
私有JSONObject setJsonObject(َArrayList list)抛出JSONException{
JSONObject JSONObject_one=新的JSONObject();
JSONArray JSONArray=新的JSONArray();
对于(int i=0;i最后,我得到了一个最简单、最完美的解决方案:
使用此依赖项:
implementation 'com.google.code.gson:gson:2.8.2'
用这条线
String data = new Gson().toJson(myArrayList);
现在您可以将这个字符串作为字符串参数传递到截击中,如下面的示例所示
例如:
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
String data = new Gson().toJson(myArrayList);
params.put("keyName", data);
return params;
}
protectedmap getParams(){
Map params=新的HashMap();
String data=new Gson().toJson(myArrayList);
参数put(“键名”,数据);
返回参数;
}
为我工作