Here I wan to copy all the User info into another separate reference value. Is there any way to do that?
Asked
Active
Viewed 53 times
2 Answers
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
-
1**Thank you so much, This is Perfectly working for me** – FGH Mar 09 '20 at 09:07
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