android - 如何将节点的子节点复制到另一个节点 Firebase 和 Android
问题描述
我有一个包含公司类别的 X 数据库,我想获取类别的孩子并将副本发送到 AllEmpresas
我的火力基地 https://i.imgur.com/YDhHn6X.jpg
我正在使用此代码,但我不知道如何实现
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);
}
解决方案
一旦实施,您的代码将导致一个无限循环。这是它正常运行的正确方法。
private void copyRecord(DatabaseReference fromPath, final DatabaseReference toPath) {
fromPath.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
toPath.setValue(dataSnapshot.getValue().toString()).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Log.d(TAG, "Success!");
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
推荐阅读
- python-3.x - 在 for 循环中使用 Python .format(urlencode)
- karate - karate.prevRequest 在标记为 @report=false 的场景中不起作用
- javascript - 获取在 Photoshop 中打开的当前活动文档的 lastModifiedDate
- sql-server - 在 Project Server 中运行 UPDATE 脚本是不好的做法吗
- python - 使用来自 git private repo 的 pip 安装特定的包版本
- angular - TypeError: dropzone__WEBPACK_IMPORTED_MODULE_1__ 不是构造函数
- php - 获取多维数组键的父数组键
- python - 如何从python中的html源代码中提取p类(网页抓取)?
- .net - .NET Core 控制台应用程序引用 .NET Framework 程序集
- java - 如何正确重新编译apk文件?