Java.lang.IllegalArgumentException: неверный тип для значения: класс android.graphics.Bitmap

Здравствуйте, я добавляю к платформе синтаксического анализа растровое изображение в файле, но у меня возникли некоторые проблемы в начале, все работало нормально, но после второй или третьей попытки я запутался. я предполагаю, что это потому, что метод put не получает растровые изображения. Но я не знаю, почему он сначала работал, а потом перестал работать.

это мой код...

    package com.example.mac.mycarapp.UI;

import android.support.v7.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.support.v7.widget.Toolbar;
import com.example.mac.mycarapp.Adapter.DatosCompletosOtroAdapterSearch;
import com.example.mac.mycarapp.Adapter.RecyclerTouchListener;
import com.example.mac.mycarapp.LoginActivity;
import com.example.mac.mycarapp.Modelos.Ciudad;
import com.example.mac.mycarapp.R;
import com.example.mac.mycarapp.Util.Config;
import com.example.mac.mycarapp.Util.MarshMallowPermission;
import com.parse.FindCallback;
import com.parse.GetCallback;
import com.parse.GetDataCallback;
import com.parse.ParseException;
import com.parse.ParseFile;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import com.parse.ParseUser;
import com.parse.SaveCallback;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import de.hdodenhof.circleimageview.CircleImageView;


public class DatosCompletosClienteOtro extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

    @BindView(R.id.imagen_por_tipo_de_empresa)
    ImageView imagenPorTipoDeEmpresa;
    @BindView(R.id.circleImageView3)
    CircleImageView circleImageView3;
    @BindView(R.id.inscripcion_nombre_cliente_otro)
    EditText inscripcionNombreClienteOtro;
    @BindView(R.id.inscripcion_cedula_cliente_otro)
    EditText inscripcionCedulaClienteOtro;
    @BindView(R.id.inscripcion_correo_cliente_otro)
    EditText inscripcionCorreoClienteOtro;
    @BindView(R.id.inscripcion_telefono_cliente_otro)
    EditText inscripcionTelefonoClienteOtro;
    @BindView(R.id.inscripcion_direccion_cliente_otro)
    EditText inscripcionDireccionClienteOtro;
    @BindView(R.id.inscripcion_ciudad_cliente_otro)
    Spinner inscripcionCiudadClienteOtro;
    @BindView(R.id.boton_seleccion_automotriz_otro)
    Button botonSeleccionAutomotriz;
    @BindView(R.id.boton_seleccion_inmobiliaria_otro)
    Button botonSeleccionInmobiliaria;
    @BindView(R.id.datos_completos_usuario_seleccion_empresa)
    TextView datosCompletosUsuarioSeleccionEmpresa;
    @BindView(R.id.datos_completos_buscar_empresa_por_sector)
    SearchView datosCompletosBuscarEmpresaPorSector;
    @BindView(R.id.recyclerview_relacion_escoge_empresa)
    RecyclerView recyclerviewRelacionEscogeEmpresa;
    @BindView(R.id.scrollView2)
    ScrollView scrollView2;
    ParseUser user;
    @BindView(R.id.boton_guardar_usuario_otro)
    Button botonGuardarUsuarioOtro;
    private ArrayList<String> listCiudad;
    private List<Ciudad> ciudadList;
    private Ciudad ciudadSelect;
    String stringTipoDeEmpresa;
    private ArrayList<ParseObject> listaEmpresa;
    DatosCompletosOtroAdapterSearch adapter;
    Context context = DatosCompletosClienteOtro.this;
    AlertDialog pd;
    String empresaObjectId;
    String tipoDeEmpAuto = "Automotriz";
    String tipoDeEmpInmo = "Inmobiliaria";
    Uri imageUrl;
    int CAMERA = 0;
    int GALLERY = 1;
    private MarshMallowPermission mmp;
    String ciudadId;
    String referentCiudad = "null";
    String spinnerValue;

    public static final int REQUEST_IMAGE=100;
    public static final int REQUEST_GALLERY=101;

    Bitmap bitmap;




    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.datos_completos_usuario_inmobiliaria);
        ButterKnife.bind(this);

        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);


        mmp = new MarshMallowPermission(this);

        listCiudad = new ArrayList<String>();
        ciudadList = new ArrayList<Ciudad>();
        listaEmpresa = new ArrayList<ParseObject>();

        AlertDialog.Builder db = new AlertDialog.Builder(this);
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View dialogView = inflater.inflate(R.layout.alert_inicial_uno, null);
        db.setView(dialogView);
        db.setCancelable(true);
        db.setPositiveButton("Siguiente", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                pd.dismiss();
            }
        });
        pd = db.create();
        pd.show();


        showUserDetailsIfInDatabase();

        user = ParseUser.getCurrentUser();


        //Todo:LLenar spinner con ciudades
        inscripcionCiudadClienteOtro.setOnItemSelectedListener(this);


        datosCompletosBuscarEmpresaPorSector.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String s) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String s) {
                adapter.getFilter().filter(s);

                return true;
            }
        });

        circleImageView3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openOptionPhotografy();
            }
        });

        recyclerviewRelacionEscogeEmpresa.addOnItemTouchListener(new RecyclerTouchListener(getApplicationContext(), recyclerviewRelacionEscogeEmpresa, new RecyclerTouchListener.ClickListener() {
            @Override
            public void onClick(View view, int position) {
                ParseObject item = listaEmpresa.get(position);
                String empresaSeleccion = item.getString("Nombre");
                empresaObjectId = item.getObjectId();
                user = ParseUser.getCurrentUser();
                user.put("Empresa", ParseObject.createWithoutData("Empresa", empresaObjectId));

            }

            @Override
            public void onLongClick(View view, int position) {

            }
        }));

        botonSeleccionAutomotriz.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                datosCompletosUsuarioSeleccionEmpresa.setText("");
                datosCompletosUsuarioSeleccionEmpresa.setText(tipoDeEmpAuto);
//                ParseQuery<ParseObject> query = ParseQuery.getQuery("Empresa");
//
//                // Retrieve the object by id
//                query.getInBackground(empresaObjectId, new GetCallback<ParseObject>() {
//                    public void done(ParseObject entity, ParseException e) {
//                        if (e == null) {
//                            // Update the fields we want to
//                            entity.put("tipoDeEmpresa", tipoDeEmpAuto);
//                        }
//                    }
//                });
                stringTipoDeEmpresa = datosCompletosUsuarioSeleccionEmpresa.getText().toString().trim();

                queryListadoDeEmpresas(stringTipoDeEmpresa);

            }
        });

        botonSeleccionInmobiliaria.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                datosCompletosUsuarioSeleccionEmpresa.setText("");
                datosCompletosUsuarioSeleccionEmpresa.setText(tipoDeEmpInmo);
//                ParseQuery<ParseObject> query = ParseQuery.getQuery("Empresa");
//
//                // Retrieve the object by id
//                query.getInBackground(empresaObjectId, new GetCallback<ParseObject>() {
//                    public void done(ParseObject entity, ParseException e) {
//                        if (e == null) {
//                            // Update the fields we want to
//                            entity.put("tipoDeEmpresa", tipoDeEmpInmo);
//                        }
//                    }
//                });
                stringTipoDeEmpresa = datosCompletosUsuarioSeleccionEmpresa.getText().toString().trim();
                queryListadoDeEmpresas(stringTipoDeEmpresa);

            }
        });

        botonGuardarUsuarioOtro.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                updateProfileUser();
                Intent intent=new Intent(DatosCompletosClienteOtro.this,MainActivity.class);
                startActivity(intent);
            }
        });


    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Intent myIntent = new Intent(getApplicationContext(), LoginActivity.class);
        startActivityForResult(myIntent,0);
        return true;
    }

    private void lleneCiudadCliente(final String parameter) {
        ParseQuery<ParseObject> parseQuery = ParseQuery.getQuery("Ciudad");
        parseQuery.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> objects, ParseException e) {
                for (ParseObject ciudades : objects) {
                    Ciudad ciudad = new Ciudad(ciudades.getObjectId(), ciudades.getString("Ciudad"));
                    ciudadList.add(ciudad);
                    listCiudad.add(ciudades.getString("Nombre"));

                }
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(DatosCompletosClienteOtro.this,
                        android.R.layout.simple_spinner_dropdown_item, listCiudad);
                inscripcionCiudadClienteOtro.setAdapter(adapter);
                if (!parameter.equals("null")) {
                    int selectionPosition = adapter.getPosition(parameter);
                    inscripcionCiudadClienteOtro.setSelection(selectionPosition);
                }

            }
        });

    }

    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
      spinnerValue=   adapterView.getItemAtPosition(position).toString();
      String idValue= String.valueOf(adapterView.getSelectedItemId());
      String item= listCiudad.get(position);
        ciudadSelect = ciudadList.get(position);
                ciudadId=ciudadSelect.getId();

//        switch (adapterView.getId()) {
//            case R.id.inscripcion_ciudad_cliente:
//                ciudadSelect = ciudadList.get(position);
//                ciudadId=ciudadSelect.getId();
//                break;
//
//        }

    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }

    private void showUserDetailsIfInDatabase() {

        ParseUser parseUser = ParseUser.getCurrentUser();
        if (parseUser != null) {
            if (parseUser.getString("Nombre") != null) {
                inscripcionNombreClienteOtro.setText(parseUser.getString("Nombre"));
                Log.i("nombre:", parseUser.getString("Nombre"));
            }
            if (parseUser.getString("Cedula") != null) {
                inscripcionCedulaClienteOtro.setText(parseUser.getString("Cedula"));
            }
            if (parseUser.getEmail()!=null) {
                inscripcionCorreoClienteOtro.setText(parseUser.getEmail());
            }
            if (parseUser.getNumber("Telefono")!=null) {
                inscripcionTelefonoClienteOtro.setText(parseUser.getInt("Telefono") + "");
            }
            if (parseUser.getString("Direccion")!=null) {
                inscripcionDireccionClienteOtro.setText(parseUser.getString("Direccion"));
            }


            ParseQuery<ParseUser> query = ParseUser.getQuery();
            query.whereEqualTo("objectId", ParseUser.getCurrentUser().getObjectId());
            query.setCachePolicy(ParseQuery.CachePolicy.NETWORK_ELSE_CACHE);
            query.include("Ciudad");
            query.include("Marca");

            query.findInBackground(new FindCallback<ParseUser>() {
                public void done(final List<ParseUser> objects, ParseException e) {
                    if (e == null) {
                        Log.d("Resultados ", "" + objects.size());

                        for (ParseObject pointer : objects) {

                            ParseObject ciudades = pointer.getParseObject("Ciudad");
                            if (ciudades != null) {
                                lleneCiudadCliente(ciudades.getString("Nombre"));
                            } else {
                                lleneCiudadCliente("null");
                            }
                        }
                    }
                }
            });


            ParseFile parseFile = parseUser.getParseFile("Avatar");
            if (parseFile != null) {
                parseFile.getDataInBackground(new GetDataCallback() {
                    @Override
                    public void done(byte[] data, ParseException e) {
                        if (e == null) {
                            Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
                            if (bmp != null) {
                                circleImageView3.setImageBitmap(bitmap);
                            }
                        }
                    }
                });
            }
        }


    }

    private void updateProfileUser() {
        if (datosCompletosUsuarioSeleccionEmpresa.getText().toString().matches("")
        ) {
            Config.simpleAlert("Porfavor seleccione un tipo de empresa", this);


        }
        if (inscripcionNombreClienteOtro.getText().toString().matches("") ||
                inscripcionCedulaClienteOtro.getText().toString().matches("") ||
                inscripcionTelefonoClienteOtro.getText().toString().matches("") ||
                inscripcionDireccionClienteOtro.getText().toString().matches("")

        ) {
            Config.simpleAlert("Debe ingresar sus datos de perfil", this);

        } else {

            Config.showDP("Guardando registros...", this);
            ParseUser currUser = ParseUser.getCurrentUser();
            currUser.put("Nombre", inscripcionNombreClienteOtro.getText().toString().trim());
            currUser.put("Cedula", inscripcionCedulaClienteOtro.getText().toString().trim());
            currUser.put("email", inscripcionCorreoClienteOtro.getText().toString().trim());
            currUser.put("Telefono", Integer.parseInt(inscripcionTelefonoClienteOtro.getText().toString().trim()));
            currUser.put("Direccion", inscripcionDireccionClienteOtro.getText().toString().trim());
            currUser.put("Ciudad", ParseObject.createWithoutData("Ciudad", ciudadId));
            currUser.saveInBackground();


//            Bitmap bitmap = ((BitmapDrawable) circleImageView3.getDrawable()).getBitmap();
//            Bitmap bm = Config.scaleBitmapToMaxSize(240, bitmap);
//            ByteArrayOutputStream stream = new ByteArrayOutputStream();
//            bm.compress(Bitmap.CompressFormat.JPEG, 100, stream);
//            byte[] bytesArray = stream.toByteArray();
//            ParseFile imageFile = new ParseFile("image.jpg", bytesArray);
//            currUser.put("Avatar", imageFile);
//            currUser.saveInBackground();

//            currUser.saveInBackground(new SaveCallback() {
//                @Override
//                public void done(ParseException e) {
//
//                    if (e == null) {
//
//                        Config.hidePD();
//                        Config.simpleAlert("Datos guardados correctamente", DatosCompletosClienteOtro.this);
//                    } else {
//                        Toast.makeText(DatosCompletosClienteOtro.this, e.getMessage(), Toast.LENGTH_SHORT).show();
//                        Config.hidePD();
//                    }
//                }
//            });


        }
    }

    private void queryListadoDeEmpresas(String stringTipoDeEmpresa) {

        ParseQuery<ParseObject> query = ParseQuery.getQuery("Empresa");
        query.whereEqualTo("tipoDeEmpresa", stringTipoDeEmpresa);
        query.include("Ciudad");
        query.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> objects, ParseException e) {
                for (ParseObject obj : objects
                ) {
                    listaEmpresa.add(obj);

                }

                recyclerviewRelacionEscogeEmpresa.addItemDecoration(new DividerItemDecoration(getApplicationContext(),
                        LinearLayoutManager.VERTICAL));
                // Pass results to ListViewAdapter Class
                recyclerviewRelacionEscogeEmpresa.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
                adapter = new DatosCompletosOtroAdapterSearch(getBaseContext(), listaEmpresa);
                // Binds the Adapter to the ListView
                recyclerviewRelacionEscogeEmpresa.setAdapter(adapter);
                adapter.notifyDataSetChanged();
            }
        });


    }

    private void openOptionPhotografy() {
        android.support.v7.app.AlertDialog.Builder alert = new android.support.v7.app.AlertDialog.Builder(DatosCompletosClienteOtro.this);
        alert.setTitle("Seleccione una opción")
                .setIcon(R.mipmap.ic_launcher_round)
                .setItems(new CharSequence[]{"Tomar fotografía", "Seleccionar de galería"}, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        switch (which) {
                            case 0:
                                if (!mmp.checkPermissionForCamera()) {
                                    mmp.requestPermissionForCamera();
                                } else {
                                    openCameraIntent();

                                }
                                break;
                            case 1:
                                if (!mmp.checkPermissionForReadExternalStorage()) {
                                    mmp.requestPermissionForReadExternalStorage();
                                } else {
                                    openImageGallery();
                                }
                                break;
                        }
                    }
                })
                .setNegativeButton("Cancelar", null);
        alert.show();
    }

//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//
//        if (resultCode == Activity.RESULT_OK) {
//            Bitmap bm = null;
//            //Image from camera
//            if (requestCode == CAMERA) {
//                try {
//                    bm = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUrl);
//
//
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//
//            } else if (requestCode == GALLERY) {
//                try {
//                    bm = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
//
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//            //set image
//            circleImageView3.setImageBitmap(bm);
//            ParseUser currentUser = ParseUser.getCurrentUser();
//            if (currentUser != null) {
//                // Other attributes than "email" will remain unchanged!
//                currentUser.put("Avatar", bm);
//                currentUser.saveInBackground();
//                //mm
//            }
//        }
//    }

private void openCameraIntent(){
        Intent pictureIntent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (pictureIntent.resolveActivity(getPackageManager())!=null){
            startActivityForResult(pictureIntent,REQUEST_IMAGE);

        }
}

private void openImageGallery(){

        Intent photoPickerIntent=new Intent(Intent.ACTION_PICK);

        File pictureDirectory=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
        String picDirectoryPath=pictureDirectory.getPath();
        Uri data=Uri.parse(picDirectoryPath);


        photoPickerIntent.setDataAndType(data,"image/*");

        startActivityForResult(photoPickerIntent,REQUEST_GALLERY);


}

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode== REQUEST_IMAGE && resultCode==RESULT_OK){
            if (data!=null && data.getExtras()!=null ){
                bitmap=(Bitmap)data.getExtras().get("data");
                circleImageView3.setImageBitmap(bitmap);
                user.put("Avatar",bitmap);
                user.saveInBackground();
            }
        }
        if (requestCode==REQUEST_GALLERY && resultCode==RESULT_OK){
            Uri imageUri=data.getData();

            InputStream inputStream;

            try {
                inputStream=getContentResolver().openInputStream(imageUri);
                Bitmap image=BitmapFactory.decodeStream(inputStream);
                circleImageView3.setImageBitmap(image);
                user.put("Avatar",image);
                user.saveInBackground();


            } catch (FileNotFoundException e) {
                e.printStackTrace();
                Toast.makeText(this,"No fue posible abrir la imagen",Toast.LENGTH_LONG).show();
            }

        }
    }
}

Проблема здесь: user.put("Аватар",bitmap);

Это код ошибки...

  
2019-07-08 14:58:41.798 1734-27078/? E/OMXNodeInstance: getConfig(0xee426d80:google.vorbis.decoder, ConfigAndroidVendorExtension(0x6f100004)) ERROR: Undefined(0x80001001)
2019-07-08 14:58:41.988 30043-30043/com.example.mac.mycarapp E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.mac.mycarapp, PID: 30043
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.example.mac.mycarapp/com.example.mac.mycarapp.UI.DatosCompletosClienteOtro}: java.lang.IllegalArgumentException: invalid type for value: class android.graphics.Bitmap
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4360)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4402)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.IllegalArgumentException: invalid type for value: class android.graphics.Bitmap
        at com.parse.ParseObject.performPut(ParseObject.java:3034)
        at com.parse.ParseObject.put(ParseObject.java:3013)
        at com.parse.ParseUser.put(ParseUser.java:814)
        at com.example.mac.mycarapp.UI.DatosCompletosClienteOtro.onActivityResult(DatosCompletosClienteOtro.java:564)
        at android.app.Activity.dispatchActivityResult(Activity.java:7454)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4353)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4402) 
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6669) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
2019-07-08 14:58:42.209 1915-1999/system_process E/InputDispatcher: channel '53feb7f com.example.mac.mycarapp/com.example.mac.mycarapp.UI.DatosCompletosClienteOtro (server)' ~ Channel is unrecoverably broken and will be disposed!

И что я должен делать? Пожалуйста помогите ..

Java.lang.IllegalArgumentException: неверный тип для значения: класс android.graphics.Bitmap

Пожалуйста, опубликуйте код вашего класса User, иначе никто не сможет вам помочь.

Rene Ferrari 08.07.2019 21:35

привет феррари я обновил свой код для тебя

Felipe Franco 08.07.2019 21:56
4
2
4 330
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я нашел вашу проблему. Прежде всего, большое спасибо за добавление кода! Таким образом, я смог выяснить, что вы используете parseplatform. Я просмотрел javadoc класса ParseUser и нашел следующее (для метода put):

Add a key-value pair to this object. It is recommended to name keys in camelCaseLikeThis.

Overrides: put in class ParseObject Parameters:
key - Keys must be alphanumerical plus underscore, and start with a letter.
value - Values may be numerical, String, JSONObject, JSONArray, JSONObject.NULL, or other ParseObjects. value may not be null.

Таким образом, вы не можем сохраняете растровое изображение через put. Чтобы решить эту проблему, сохраните аватар в файловой системе (это поможет тебе). И как только аватар будет сохранен, сохраните путь к нему вот так: user.put("avatarPath", <pathToAvatar>);. Теперь, когда вы хотите отобразить изображение, просто получите путь к нему и прочитайте его из хранилища.

вау спасибо за ответ. но есть ли способ получить путь и преобразовать его в файл? зацените это!docs.parseplatform.org/android/guide/#files

Felipe Franco 08.07.2019 22:28

Здорово, что Parse предлагает что-то подобное. Что ж, вам нужно только превратить Bitmap в byte[]. Вы можете прочитай это, это объяснит, как его преобразовать

Rene Ferrari 08.07.2019 22:30

В основном вам нужно сделать следующее: ByteArrayOutputStream stream = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG, 80, stream); byte[] byteArray = stream.toByteArray(); Затем вы можете сохранить его, как показано в предоставленной вами ссылке. Вы можете просто использовать put, так как ParseFile является объектом Parse.

Rene Ferrari 08.07.2019 22:32

Да, Феррари, это реальный ответ, я только что столкнулся с тем же, что и в некоторых исследованиях, большое спасибо! Я опубликую полный ответ ниже, если вы не возражаете, но большое спасибо!

Felipe Franco 08.07.2019 22:34

Здорово! Рад, что смог вам помочь :)

Rene Ferrari 08.07.2019 22:35

Рене, ты знаешь, почему мой CircleImageView не отображается, когда я эмулирую, но когда я выбираю изображение из галереи или беру его в камеру, оно появляется, но в начале нет

Felipe Franco 08.07.2019 22:39

Честно говоря, я понятия не имею :о

Rene Ferrari 08.07.2019 22:44

Вместо этого вы должны сохранить свой прокомментированный код, где вы сохраняете файл, а не растровое изображение.

Другие вопросы по теме