在我的应用程序中,我可以从相机中截取屏幕截图。然后,我将图像上传到Firebase存储并获得下载链接。现在,我想将此链接添加到我的数据库中。我可以通过以下代码来做到这一点:
fun storeImageUrlToFBDatabase(userId: String, cameraName: String, imageUrl: String) {
val map = mapOf(cameraName to imageUrl)
val ref = getFBDatabaseReference().getReference("users/$userId/images")
ref.setValue(map)
.addOnSuccessListener {
Logger.d("$FB_DATABASE_TAG, Write was successful, $it")
}
.addOnFailureListener {
Logger.e("$FB_DATABASE_TAG, Write failed: $it")
}
}
但是,问题是images
下的当前项目将由我正在推送的新项目替换。我的期望是这样的:
但是,在images
下进行每次推入/插入操作后,我得到的只有一条记录。问题是什么?谢谢。
答案 0 :(得分:0)
您需要使用键值来存储新链接。这可以通过两种方式完成:
val ref = getFBDatabaseReference()。getReference(“ users / $ userId / images”);
//you need to find next xth image somehow
ref.child('imagex').setValue("map");
val ref = getFBDatabaseReference()。getReference(“ users / $ userId / images”);
val newRef = ref.push();
newRef.setValue("map");