当前位置: 首页 > 面试题库 >

如何在Android中将Firebase子节点从一个节点移动到另一个节点?

太叔昆
2023-03-14
问题内容

我正在一个项目中,用户对我们的代客服务的请求在另一端代客接受请求。

我正在使用Firebase作为后端,并应要求将客户uid保存在“ request”子项上。

当代客接受请求时,客户uid应从“请求”节点移至“进行中”节点。

我怎样才能做到这一点?


问题答案:

我建议使用这个:

public void moveFirebaseRecord(Firebase fromPath, final Firebase toPath)
{
    fromPath.addListenerForSingleValueEvent(new ValueEventListener()
    {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot)
        {
            toPath.setValue(dataSnapshot.getValue(), new Firebase.CompletionListener()
            {
                @Override
                public void onComplete(FirebaseError firebaseError, Firebase firebase)
                {
                    if (firebaseError != null)
                    {
                        System.out.println("Copy failed");
                    }
                    else
                    {
                        System.out.println("Success");
                    }
                }
            });
        }

        @Override
        public void onCancelled(FirebaseError firebaseError)
        {
            System.out.println("Copy failed");
        }
    });
}

这来自以下来源:https :
//gist.github.com/katowulf/6099042。我在JavaEE代码和Android应用程序中都使用了几次。

您传递fromPath和toPath。这是复制品,不是移动,因此原件也将保留在其原处。如果要删除,可以在System.out.println(“
Success”);之后的fromPath上设置一个值。。



 类似资料: