0

enter image description here

Here I wan to copy all the User info into another separate reference value. Is there any way to do that?

FGH
  • 2,900
  • 6
  • 26
  • 59

2 Answers2

3

Here How i did it

fromPath will be your User info
toPath will be your other location

DatabaseReference fromPath = FirebaseDatabase.getInstance().getReference("/Users/EJmcCkBaN0hBzTEyDOwtE9xNyxA3");
DatabaseReference toPath = FirebaseDatabase.getInstance().getReference("/Users/7NgXNUg5JfQ7cq6Hdbd32HDz8tT2");


private void moveRecord(DatabaseReference fromPath, final DatabaseReference toPath) {
        ValueEventListener valueEventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                // dataSnapshot will be whole data node inside  "fromPath"
                toPath.setValue(dataSnapshot.getValue()).addOnCompleteListener(task -> {
                    if (task.isComplete()) {
                        Timber.d("Success!");
                    } else {
                        Timber.d("Copy failed!");
                    }
                });
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
            }
        };
        fromPath.addListenerForSingleValueEvent(valueEventListener);
    }
Hasan Khan
  • 554
  • 1
  • 7
  • 23
0

I did like this for my requirements

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();

 databaseReference= FirebaseDatabase.getInstance().getReference().child("userbooking").child("user id - "+uid);
        databaseReferencehistory=FirebaseDatabase.getInstance().getReference().child("user history").child("user id - "+uid);


 private void moveRecord(DatabaseReference databaseReference, final DatabaseReference databaseReferencehistory)
    {
        ValueEventListener valueEventListener=new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                databaseReferencehistory.setValue(dataSnapshot.getValue()).addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if(task.isSuccessful())
                        {
                            Toast.makeText(getContext(), "Successfully Booked", Toast.LENGTH_SHORT).show();
                            dismiss();
                        }
                        else if(task.isCanceled())
                        {
                            Toast.makeText(getContext(), "Booking failed", Toast.LENGTH_SHORT).show();

                        }

                    }
                });
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        };

        databaseReference.addListenerForSingleValueEvent(valueEventListener);

    }
FGH
  • 2,900
  • 6
  • 26
  • 59