通过复制一些数据android重新创建一个firebase对象

时间:2017-04-26 06:20:06

标签: android firebase firebase-realtime-database

我正在我的应用中实现firebase。我有一个要求,我必须更改一个对象的键值。请参考下面的图片作为我的firebase数据库的参考。

enter image description here

对于DCu1,我需要将其键值更改为其他值,假设为DCu4。为此我正在创建另一个克隆的DCu1对象,其中键值改为DCu4,之后我将删除DCu1。问题在于嵌套参数,如DeviceList,Status,Request。如何将这些值复制到新的克隆对象?需要你的帮助。提前谢谢。

1 个答案:

答案 0 :(得分:2)

当您在节点上读取数据时,会下载所有嵌套的内容。

您可以使用以下代码:

 FirebaseDatabase.getInstance().getReference().child("/path/to/DCu1").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            FirebaseDatabase.getInstance().getReference().child("path/to/DCu4").setValue(dataSnapshot.getValue());
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

我希望这会有所帮助