Java 在getBody()截击中发送数据

Java 在getBody()截击中发送数据,java,android,android-volley,Java,Android,Android Volley,我写了这段代码,但我不能在getbody()中发送数据。我想发送hashmap,但IDE说必须发送byte[]。我不能那样做,请帮帮我。 这是我的密码截击的一部分 @Override public byte[] getBody() { Map <String, String> params = new HashMap<>(); params.put("Token

我写了这段代码,但我不能在getbody()中发送数据。我想发送hashmap,但IDE说必须发送byte[]。我不能那样做,请帮帮我。 这是我的密码截击的一部分

            @Override
            public byte[] getBody() {
                Map <String, String> params = new HashMap<>();
                params.put("Token", Sp.getInstance().ReadSP("_Token_"));
                params.put("Mobile", Sp.getInstance().ReadSP("_Phone_"));
                params.put("Fname", mName_edit_profile.getText().toString());
                params.put("Lname", mName_edit_profile.getText().toString());
                params.put("Email", mEmail_edit_profile.getText().toString().trim());
                aEncodedImage = getStringImage(((BitmapDrawable) mImage_profile.getDrawable()).getBitmap());
                params.put("Pic", aEncodedImage);
                return params;
            }
@覆盖
公共字节[]getBody(){
Map params=新的HashMap();
参数put(“Token”,Sp.getInstance().ReadSP(“Token”);
参数put(“Mobile”,Sp.getInstance().ReadSP(“_Phone”);
参数put(“Fname”,mName_edit_profile.getText().toString());
参数put(“Lname”,mName_edit_profile.getText().toString());
参数put(“Email”,mEmail_edit_profile.getText().toString().trim());
aEncodedImage=getStringImage(((BitmapDrawable)mImage_profile.getDrawable()).getBitmap());
参数put(“Pic”,aEncodedImage);
返回参数;
}
在getBody()中:


试试看。

您还可以使用方法
getParams()
在使用Map的截击请求中发送参数。按如下方式更改代码:

    @Override
    protected Map<String,String> getParams(){
            Map <String, String> params = new HashMap<>();
            params.put("Token", Sp.getInstance().ReadSP("_Token_"));
            params.put("Mobile", Sp.getInstance().ReadSP("_Phone_"));
            params.put("Fname", mName_edit_profile.getText().toString());
            params.put("Lname", mName_edit_profile.getText().toString());
            params.put("Email", mEmail_edit_profile.getText().toString().trim());
            aEncodedImage = getStringImage(((BitmapDrawable) mImage_profile.getDrawable()).getBitmap());
            params.put("Pic", aEncodedImage);
            return params;
    }
@覆盖
受保护的映射getParams(){
Map params=新的HashMap();
参数put(“Token”,Sp.getInstance().ReadSP(“Token”);
参数put(“Mobile”,Sp.getInstance().ReadSP(“_Phone”);
参数put(“Fname”,mName_edit_profile.getText().toString());
参数put(“Lname”,mName_edit_profile.getText().toString());
参数put(“Email”,mEmail_edit_profile.getText().toString().trim());
aEncodedImage=getStringImage(((BitmapDrawable)mImage_profile.getDrawable()).getBitmap());
参数put(“Pic”,aEncodedImage);
返回参数;
}

数据类型getbody()是byte[],当返回数据类型是ObjectOutputStreamman时,我知道如何使用getparam发送服务器语言旁边的开发人员,让我通过body批量发送所有数据
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(params);
retrun byteOut.toByteArray();
    @Override
    protected Map<String,String> getParams(){
            Map <String, String> params = new HashMap<>();
            params.put("Token", Sp.getInstance().ReadSP("_Token_"));
            params.put("Mobile", Sp.getInstance().ReadSP("_Phone_"));
            params.put("Fname", mName_edit_profile.getText().toString());
            params.put("Lname", mName_edit_profile.getText().toString());
            params.put("Email", mEmail_edit_profile.getText().toString().trim());
            aEncodedImage = getStringImage(((BitmapDrawable) mImage_profile.getDrawable()).getBitmap());
            params.put("Pic", aEncodedImage);
            return params;
    }