在 getBody() 内发送数据 Volley

Send Data inside getBody() Volley

我写了这段代码,但我无法在 getbody() 中发送数据 我想发送 hashmap,但 IDE 说你必须发送 byte[]。我做不到,请帮助我。 这是我的代码,是 volley

的一部分
            @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() 中:

@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);

            ..... (Write the below code here)

            return params;
        }

在我提到的地方输入这个(在这里写下面的代码)

ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(params);
retrun byteOut.toByteArray();

试一试..

您还可以使用方法 getParams() 通过使用 Map 的 Volley Request 发送参数。按如下方式更改您的代码:

    @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;
    }