Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中,是否可以将Arraylist作为值发送给BasicValuePair中的单个键_Android_List_Basicnamevaluepair - Fatal编程技术网

在android中,是否可以将Arraylist作为值发送给BasicValuePair中的单个键

在android中,是否可以将Arraylist作为值发送给BasicValuePair中的单个键,android,list,basicnamevaluepair,Android,List,Basicnamevaluepair,你好,我有多维数组格式的数据。我需要用basicnamevaluepair将这些数据传递给POST方法。在android中,是否有可能将整个arraylist作为值传递给单个键 ex: the arrayList is ArrayList<String> data=new ArrayList<String>(); data.add("Datas"); data.add("Datas2"); data.add("Datas3"); ex: arrayList

你好,我有多维数组格式的数据。我需要用basicnamevaluepair将这些数据传递给POST方法。在android中,是否有可能将整个arraylist作为值传递给单个键

ex:
 the arrayList is 

 ArrayList<String> data=new ArrayList<String>();
 data.add("Datas");
 data.add("Datas2");
 data.add("Datas3");
ex:
arrayList是
ArrayList数据=新的ArrayList();
数据。添加(“数据”);
数据。添加(“数据2”);
数据。添加(“数据3”);
可以这样传递arraylist吗?使用BasicNameValuePair在arraylist中传递值

List<BasicNameValuePair> pairedData=new ArrayList<BasicNameValuepair();
     pairedDatas.add(new BasicNameValuePair("id","8"));
     pairedDatas.add(new BasicNameValuePair("name","Customer Details"));
     pairedDatas.add(new BasicNameValuePair("datas",data);

List pairedData=new ArrayList您不能添加BasicNameValuePair

List<BasicNameValuePair> pairedData=new ArrayList<BasicNameValuepair();
pairedDatas.add(new BasicNameValuePair("id","8"));
pairedDatas.add(new BasicNameValuePair("name","Customer Details"));

 ArrayList<String> data=new ArrayList<String>();
 data.add("Datas");
 data.add("Datas2");
 data.add("Datas3");
// you need to convert tha array to formatted String 
JSONArray jsArray = new JSONArray(data);
pairedDatas.add(new BasicNameValuePair("datas",data.toString());

List pairedData=new ArrayList您不能添加BasicNameValuePair

List<BasicNameValuePair> pairedData=new ArrayList<BasicNameValuepair();
pairedDatas.add(new BasicNameValuePair("id","8"));
pairedDatas.add(new BasicNameValuePair("name","Customer Details"));

 ArrayList<String> data=new ArrayList<String>();
 data.add("Datas");
 data.add("Datas2");
 data.add("Datas3");
// you need to convert tha array to formatted String 
JSONArray jsArray = new JSONArray(data);
pairedDatas.add(new BasicNameValuePair("datas",data.toString());

List pairedData=new ArrayList您必须使用jsonArray发送ArrayList,请使用以下代码

JSONObject outerJsonObject ;
            JSONArray _mainArray ;
outerJsonObject = new JSONObject();
                _mainArray = new JSONArray();
    for (int i = 0; i < count; i++) {

                        JSONObject _jSubObj = new JSONObject();
                        try {

                            _jSubObj.put("user_id",_userId);
                            _jSubObj.put("first_name",name.get(i));

                                 }
                            _mainArray.put(_jSubObj);
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                 try {
                    outerJsonObject.put("address_details",_mainArray);


                    //                  System.out.println("OuterJSON request"+outerJsonObject);
                    //                  System.out.println("JSON ARRAY : " + _mainArray);
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
JSONObject-outerJsonObject;
JSONArray_主阵列;
outerJsonObject=新的JSONObject();
_mainArray=新的JSONArray();
for(int i=0;i
在此代码中,名称是位于i位置的arraylist

和参数使用类似

// Creating HTTP client
                    client = new DefaultHttpClient();

                    // Creating HTTP Post
                    HttpPost httpPost = new HttpPost(WebServiceConstants
                            .getMethodUrl(WebServiceConstants.METHOD_ADD_ADDRESS));

                    // Building post parameters, key and value pair
                    List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();

                    nameValuePair.add(new BasicNameValuePair("address_details", outerJsonObject.toString()));


                    System.out.println("Whole name value pair Address=" + nameValuePair.toString());

                    // Url Encoding the POST parameters
                    try {
                        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
                    } catch (UnsupportedEncodingException e) {
                        // writing error to Log
                        e.printStackTrace();
                    }

                    try {
                        responseMain = client.execute(httpPost);
                        //                      Log.e("RESPONSe of My order", String.valueOf(responseMain));
                        HttpEntity entitity = responseMain.getEntity();
                        _responseMain = EntityUtils.toString(entitity); // content will be consume only once
                        System.out.println("Response of Address "+_responseMain);
                    } catch (Exception e) 
                    {
                        e.printStackTrace();
                    }
//创建HTTP客户端
client=新的DefaultHttpClient();
//创建HTTP Post
HttpPost HttpPost=新的HttpPost(WebServiceConstants
.getMethodUrl(WebServiceConstants.METHOD\u ADD\u ADDRESS));
//构建post参数、键和值对
List nameValuePair=新的ArrayList();
添加(新的BasicNameValuePair(“地址详细信息”,outerJsonObject.toString());
System.out.println(“全名-值对地址=“+nameValuePair.toString());
//对POST参数进行Url编码
试一试{
setEntity(新的UrlEncodedFormEntity(nameValuePair));
}捕获(不支持的编码异常e){
//将错误写入日志
e、 printStackTrace();
}
试一试{
responseMain=client.execute(httpPost);
//Log.e(“我的订单的响应”,String.valueOf(responseMain));
HttpEntity entity=responseMain.getEntity();
_responseMain=EntityUtils.toString(entitity);//内容将只使用一次
System.out.println(“地址响应”+_responseMain);
}捕获(例外e)
{
e、 printStackTrace();
}

我希望它能工作

您必须使用jsonArray发送arraylist,使用以下代码

JSONObject outerJsonObject ;
            JSONArray _mainArray ;
outerJsonObject = new JSONObject();
                _mainArray = new JSONArray();
    for (int i = 0; i < count; i++) {

                        JSONObject _jSubObj = new JSONObject();
                        try {

                            _jSubObj.put("user_id",_userId);
                            _jSubObj.put("first_name",name.get(i));

                                 }
                            _mainArray.put(_jSubObj);
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                 try {
                    outerJsonObject.put("address_details",_mainArray);


                    //                  System.out.println("OuterJSON request"+outerJsonObject);
                    //                  System.out.println("JSON ARRAY : " + _mainArray);
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
JSONObject-outerJsonObject;
JSONArray_主阵列;
outerJsonObject=新的JSONObject();
_mainArray=新的JSONArray();
for(int i=0;i
在此代码中,名称是位于i位置的arraylist

和参数使用类似

// Creating HTTP client
                    client = new DefaultHttpClient();

                    // Creating HTTP Post
                    HttpPost httpPost = new HttpPost(WebServiceConstants
                            .getMethodUrl(WebServiceConstants.METHOD_ADD_ADDRESS));

                    // Building post parameters, key and value pair
                    List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();

                    nameValuePair.add(new BasicNameValuePair("address_details", outerJsonObject.toString()));


                    System.out.println("Whole name value pair Address=" + nameValuePair.toString());

                    // Url Encoding the POST parameters
                    try {
                        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
                    } catch (UnsupportedEncodingException e) {
                        // writing error to Log
                        e.printStackTrace();
                    }

                    try {
                        responseMain = client.execute(httpPost);
                        //                      Log.e("RESPONSe of My order", String.valueOf(responseMain));
                        HttpEntity entitity = responseMain.getEntity();
                        _responseMain = EntityUtils.toString(entitity); // content will be consume only once
                        System.out.println("Response of Address "+_responseMain);
                    } catch (Exception e) 
                    {
                        e.printStackTrace();
                    }
//创建HTTP客户端
client=新的DefaultHttpClient();
//创建HTTP Post
HttpPost HttpPost=新的HttpPost(WebServiceConstants
.getMethodUrl(WebServiceConstants.METHOD\u ADD\u ADDRESS));
//构建post参数、键和值对
List nameValuePair=新的ArrayList();
添加(新的BasicNameValuePair(“地址详细信息”,outerJsonObject.toString());
System.out.println(“全名-值对地址=“+nameValuePair.toString());
//对POST参数进行Url编码
试一试{
setEntity(新的UrlEncodedFormEntity(nameValuePair));
}捕获(不支持的编码异常e){
//将错误写入日志
e、 printStackTrace();
}
试一试{
responseMain=client.execute(httpPost);
//日志