简体   繁体   中英

Adding different two images to firebase realtime database

I want to add two different photos to the database via Android app. however, when I select a photo for the first photo, it places the same photo for both and saves it in the same way. My code's down there. I've defined two separate imageview for two different photos, but it doesn't work. What can I do?

 mDenemeImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_PICK);
                intent.setType("image/*");
                startActivityForResult(intent, 1);
            }
        });


        mDenemeImage2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(Intent.ACTION_PICK);
                i.setType("image/*");
                startActivityForResult(i, 1);
            }
        });
     private void getUserInfo(){
        mDriverDatabase.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if(dataSnapshot.exists() && dataSnapshot.getChildrenCount()>0){
                    Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();

                    if(map.get("profileDenemeUrl")!=null){
                        mprofileDenemeUrl = map.get("profileDenemeUrl").toString();
                        Glide.with(getApplication()).load(mprofileDenemeUrl).into(mDenemeImage);
                    }
                     if(map.get("profileDenemeUrl2")!=null){
                        mprofileDenemeUrl2 = map.get("profileDenemeUrl2").toString();
                        Glide.with(getApplication()).load(mprofileDenemeUrl2).into(mDenemeImage2);
                    }


                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
            }
        });
    }



    private void saveUserInformation() {



        Map userInfo = new HashMap();

        mDriverDatabase.updateChildren(userInfo);

        if(resultUri != null) {

            final StorageReference filePath = FirebaseStorage.getInstance().getReference().child("profile_arac").child(userID);
            final StorageReference filePath2 = FirebaseStorage.getInstance().getReference().child("profile_arac2").child(userID);

            Bitmap bitmap = null;
            try {
                bitmap = MediaStore.Images.Media.getBitmap(getApplication().getContentResolver(), resultUri);
            } catch (IOException e) {
                e.printStackTrace();
            }

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos);
            byte[] data = baos.toByteArray();
            UploadTask uploadTask = filePath.putBytes(data);
            UploadTask uploadTask2 = filePath2.putBytes(data);
            uploadTask.addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    finish();
                    return;
                }
            });
            uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                        @Override
                        public void onSuccess(Uri uri) {
                            Map newImage = new HashMap();


                            newImage.put("profileDenemeUrl", uri.toString());
                            mDriverDatabase.updateChildren(newImage);

                            finish();
                            return;
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            finish();
                            return;
                        }
                    });

                }
            }); uploadTask.addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    finish();
                    return;
                }
            });
            uploadTask2.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    filePath2.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                        @Override
                        public void onSuccess(Uri uri) {
                            Map newImage2 = new HashMap();


                            newImage2.put("profileDenemeUrl2", uri.toString());
                            mDriverDatabase.updateChildren(newImage2);

                            finish();
                            return;
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            finish();
                            return;
                        }
                    });

                }
            }); uploadTask2.addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    finish();
                    return;
                }
            });
        }
      else{
            finish();
        }

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == 1 && resultCode == Activity.RESULT_OK){
            final Uri imageUri = data.getData();
            resultUri = imageUri;

            mDenemeImage.setImageURI(resultUri);

            mDenemeImage2.setImageURI(resultUri);
        }
    }
mDenemeImage.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_PICK); 
        intent.setType("image/*"); 
        startActivityForResult(intent, 1); 
    }
}); 

mDenemeImage2.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) {
        Intent i = new Intent(Intent.ACTION_PICK); 
        intent.setType("image/*"); startActivityForResult(i, 2); 
    }
}); 

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == 1 && resultCode == RESULT_OK){
        Uri imageUri1 = data.getData();
        resultUri1 = imageUri1;

        mDenemeImage.setImageURI(resultUri1);
    }

    if (requestCode == 2 && resultCode == RESULT_OK)
    {
        Uri imageUri2 = data.getData();
        resultUri2 = imageUri2;

        mDenemeImage2.setImageURI(resultUri2);
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM