我正在做一个项目,用户请求我们的代客泊车服务,而在另一端代客泊车接受请求。
我正在使用 Firebase 作为后端,并根据请求将客户 uid 保存在“请求”子项上。
当代客接受请求时,客户 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 上做一个设置值。 .
关于java - 如何在 Android 中将 Firebase 子节点从一个节点移动到另一个节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40456443/