Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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 使用Map<;将requestBody传递给另一个请求主体;字符串,RequestBody>;_Android_Retrofit2 - Fatal编程技术网

Android 使用Map<;将requestBody传递给另一个请求主体;字符串,RequestBody>;

Android 使用Map<;将requestBody传递给另一个请求主体;字符串,RequestBody>;,android,retrofit2,Android,Retrofit2,我的代码是使用多种形式的数据向服务器发送数据 代码: Map<String, RequestBody> params = new HashMap<>(); params.put("devicetype", toRequestBody(Constants.DEVICE_TYPE)); params.put("deviceid", toRequestBody(Functions.getDeviceId(AddDetailsActivit

我的代码是使用多种形式的数据向服务器发送数据

代码:

    Map<String, RequestBody> params = new HashMap<>();
    params.put("devicetype", toRequestBody(Constants.DEVICE_TYPE));
            params.put("deviceid", toRequestBody(Functions.getDeviceId(AddDetailsActivity.this)));
            params.put("appversion", toRequestBody(Constants.APP_VERSION));
            params.put("apiversion", toRequestBody(Constants.API_VERSION));
            params.put("timezone", toRequestBody(Functions.getTimeStamp()));
            params.put("modeltype", toRequestBody(Functions.getDeviceModel()));
            params.put("deviceos", toRequestBody(Build.VERSION.RELEASE));
            params.put("userdeviceid", toRequestBody(MySharedPreferences.getCustomPreference(AddDetailsActivity.this, Constants.SHAREDPREFERENCE_USERDETAILS).getUserdeviceid()));

            if (edit.equalsIgnoreCase("Y")) {
                params.put("visitorid", toRequestBody(visitorid));
                params.put("siteid", toRequestBody(siteid));
            } else {
                params.put("visitorid", toRequestBody("0"));
                params.put("siteid", toRequestBody("0"));
            }


            for (int i = 0; i < Constants.images_path.size(); i++) {
                String key = "images[" + i + "]";
                try {
                    File compressedImages = new ImageZipper(AddDetailsActivity.this).compressToFile(new File(Constants.images_path.get(i)));
                    params.put("" + key + "\"; filename=\"" + key + ".png", getRequestFile(compressedImages));

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

 public static RequestBody toRequestBody(String value) {
    RequestBody body = RequestBody.create(MediaType.parse("text/plain"), value);
    return body;
}
Map params=newhashmap();
参数put(“devicetype”,toRequestBody(Constants.DEVICE_TYPE));
参数put(“deviceid”,toRequestBody(Functions.getDeviceId(AddDetailsActivity.this));
参数put(“appversion”,toRequestBody(Constants.APP_VERSION));
参数put(“apiversion”,toRequestBody(Constants.API_VERSION));
put(“时区”,toRequestBody(Functions.getTimeStamp());
put(“modeltype”,toRequestBody(Functions.getDeviceModel());
参数put(“deviceos”,toRequestBody(Build.VERSION.RELEASE));
params.put(“userdeviceid”,toRequestBody(MySharedPreferences.getCustomPreference(AddDetailsActivity.this,Constants.SharedReference\u USERDETAILS).getUserdeviceid());
if(编辑.equalsIgnoreCase(“Y”)){
参数put(“visitorid”,toRequestBody(visitorid));
参数put(“siteid”,toRequestBody(siteid));
}否则{
参数put(“visitorid”,toRequestBody(“0”);
参数put(“siteid”,toRequestBody(“0”);
}
对于(int i=0;i
现在我想将另一个请求主体添加到主请求主体。。但它并不接受

 Map<String, RequestBody> paStringRequestBodyMap = new HashMap<>();

    if (addDetailsActivity.getVisitorSites() != null) {
        paStringRequestBodyMap.put("id", Functions.toRequestBody(addDetailsActivity.getVisitorSites().getSiteid()));
        paStringRequestBodyMap.put("visitorid", Functions.toRequestBody(addDetailsActivity.getVisitorSites().getVisitorid()));
    } else {
        paStringRequestBodyMap.put("visitorid", Functions.toRequestBody("0"));
        paStringRequestBodyMap.put("id", Functions.toRequestBody("0"));
    }
    paStringRequestBodyMap.put("name", Functions.toRequestBody(editTextSitename.getText().toString().trim()));
Map paStringRequestBodyMap=newhashmap();
if(addDetailsActivity.getVisitorSites()!=null){
paStringRequestBodyMap.put(“id”,Functions.toRequestBody(addDetailsActivity.getVisitorSites().getSiteid());
paStringRequestBodyMap.put(“visitorid”,Functions.toRequestBody(addDetailsActivity.getVisitorSites().getVisitorid());
}否则{
paStringRequestBodyMap.put(“visitorid”,Functions.toRequestBody(“0”);
paStringRequestBodyMap.put(“id”),Functions.toRequestBody(“0”);
}
paStringRequestBodyMap.put(“name”,Functions.toRequestBody(editTextSitename.getText().toString().trim());
现在我想将paStringRequestBodyMap添加到主参数请求体。但进展并不顺利。不接受尸体请求。我用paStringRequestBodyMap.toString()尝试过,但我认为这不是一个好方法


因此,先进的帮助将不胜感激

只需将它们合并到一个
Map
中,或者您想将一个
paStringRequestBodyMap
作为参数之一?@VladyslavMatviienko是参数之一。我该怎么做?您只能发送一个字符串作为参数。检查您的服务器希望您如何发送它。当我尝试发送到RequestBody(paStringRequestBodyMap.toString().trim())时,它只发送{作为一个值。