Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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 NameValuePair和MultipartEntity_Android_Json_Post_Multipart - Fatal编程技术网

Android NameValuePair和MultipartEntity

Android NameValuePair和MultipartEntity,android,json,post,multipart,Android,Json,Post,Multipart,在我的post请求中,我以前使用过NameValuePair Map<String, Object> data = new LinkedHashMap<String, Object>(); data.put(SESSION, sessionId); data.put(MODULE_NAME, "POD_POD"); try { JSO

在我的post请求中,我以前使用过NameValuePair

Map<String, Object> data = new LinkedHashMap<String, Object>();
                data.put(SESSION, sessionId);
                data.put(MODULE_NAME, "POD_POD");

                try {

                    JSONArray nameValueArray = new JSONArray();
                   // signature_path_value.put("name", "uploadfile");
                    //signature_path_value.put("value", image_str);
                    //nameValueArray.put(signature_path_value);
                    customer_value.put("name", "signed_by");
                    customer_value.put("value", customer);
                    nameValueArray.put(customer_value);
                    order_time_value.put("name", "delivered_on");
                    order_time_value.put("value", order_time);
                    nameValueArray.put(order_time_value);
                    user_value.put("name", "driver_name");
                    user_value.put("value", user);
                    nameValueArray.put(user_value);

                    data.put(NAME_VALUE_LIST, nameValueArray);

                    String restData = org.json.simple.JSONValue.toJSONString(data);

                    HttpClient httpClient = new DefaultHttpClient();
                    HttpPost req = new HttpPost(rest_url);
                    // Add your data
                    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                    nameValuePairs.add(new BasicNameValuePair(METHOD, SET_ENTRY));
                    nameValuePairs.add(new BasicNameValuePair(INPUT_TYPE, JSON));
                    nameValuePairs.add(new BasicNameValuePair(RESPONSE_TYPE, JSON));
                    nameValuePairs.add(new BasicNameValuePair(REST_DATA, restData));
                    req.setEntity(new UrlEncodedFormEntity(nameValuePairs));

                    // Send POST request
                    httpClient.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);
                    HttpResponse res = httpClient.execute(req); 

我给出了如何对字符串和文件数据使用
MultipartEntity
的示例代码

        MultipartEntity mEntity = new MultipartEntity();

        //For String data 

        mEntity.addPart("key1", new StringBody("value1"));
        mEntity.addPart("key2", new StringBody("value2"));
        mEntity.addPart("key3", new StringBody("value3"));


        //For File data
        mEntity.addPart("file", new FileBody("file_path"));
        req.setEntity(mEntity);
在您的情况下,请尝试下面的代码

        mEntity.addPart(METHOD, new StringBody(SET_ENTRY));
        mEntity.addPart(INPUT_TYPE, new StringBody(JSON));
        mEntity.addPart(RESPONSE_TYPE, new StringBody(JSON));
        mEntity.addPart(REST_DATA, new StringBody(restData));

谢谢..但是在Namevaluepair中我使用了'data.put(NAME\u VALUE\u LIST,nameValueArray);'将数据添加到namevaluepair数组,如“nameValuePairs.add(newBasicNameValuePair(REST_data,restData));”因为服务希望以正确的格式接收数据,所以我怎么能像TISN多端口一样呢order@Sameeraohhh所以您正在创建JSON数据并发送。。我刚刚给出了示例代码。你可以修改它。是的。我做了很多关于向多部分实体添加json数据的研究。但是我没有找到任何例子。你能给我一些例子吗。如何向多部分实体添加json数据?谢谢。在你的“restData”字符串中有我的JSON值吗?@Sameera:D你可以直接添加,不需要创建JSON,它还取决于服务器端,web代码如何处理文件。
        mEntity.addPart(METHOD, new StringBody(SET_ENTRY));
        mEntity.addPart(INPUT_TYPE, new StringBody(JSON));
        mEntity.addPart(RESPONSE_TYPE, new StringBody(JSON));
        mEntity.addPart(REST_DATA, new StringBody(restData));