Вы не можете изменить имя ключа, скажем, ricksanchez
на другое. Для этого нет API. Если вы хотите изменить имя ключа, вам определенно необходимо скопировать этот конкретный объект в другое место, изменить имя и затем удалить старую запись. Но поменять имя ключа в Firebase невозможно.
Изменить: В соответствии с вашим комментарием, пожалуйста, используйте следующий метод для копирования записи из одного места в другое.
private void copyRecord(DatabaseReference fromPath, final DatabaseReference toPath) {
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
toPath.setValue(dataSnapshot.getValue()).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isComplete()) {
Log.d(TAG, "Success!");
} else {
Log.d(TAG, "Copy failed!");
}
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
fromPath.addListenerForSingleValueEvent(valueEventListener);
}