首页 > 解决方案 > Android/Firebase 创建一个文件夹作为唯一文件夹的子文件夹,两者同时创建

问题描述

问题:我想在帖子中添加照片,它可以部分工作,但是“图像”文件夹是单独创建的,而不是在一个以绿色标记的唯一文件夹中

databaseReference = FirebaseDatabase.getInstance().reference.child("posts")
    
private fun SendLink(url: String) {
    val hashMap: HashMap<String, String> = HashMap()
    hashMap["link"] = url
    databaseReference!!.child("images").push().setValue(hashMap).addOnCompleteListener {
        progressDialog!!.dismiss()
        choosenImages!!.text = "Succesfully added images."
        addImagesBT.visibility = View.GONE
        ImageList.clear()
    }
}

问题:如何移动/创建“图像”文件夹作为绿色下划线文件夹的子文件夹?

标签: javaandroidfirebasekotlinfirebase-realtime-database

解决方案


在实时数据库中,实际上没有任何“文件夹”。只有节点可以包含子节点。没有在节点之间“移动”数据的操作。您可以做的是从源节点读取数据,将其写入目标节点,然后删除原始节点。

如果您创建的节点显示在错误的位置,这意味着您可能应该只更改它正在写入的位置。现在,您的代码正在向“图像”下随机生成的节点添加新的子节点。如果您想改为写入“帖子”,只需更改您推送数据的节点的名称。请注意如何创建调用时使用的 Reference 对象push()- 该引用将是根节点,新的随机生成的节点名称将被写入其下。


推荐阅读