我正在一个项目中,用户对我们的代客服务的请求在另一端代客接受请求。
我正在使用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上设置一个值。。