Firebase 存储参考的构造函数是什么?

What is the constructor for Firebase Storage Reference?

所以我试着按照 youtube 上关于 Firebase 存储的教程,我找到了这段代码:

val filePathAndName="product_images/"+""+timeStamp
val storageReference=FirebaseStorage.getInstance().getReference(filePathAndName)

但上面的代码在教程中使用了 Java,我将其更改为 Kotlin 语法,并尝试 运行 应用程序并且成功了。

阅读有关 Firebase 存储的文档后,我发现:

// Create a child reference
// imagesRef now points to "images"
var imagesRef: StorageReference? = storageRef.child("images")

// Child references can also take paths
// spaceRef now points to "images/space.jpg
// imagesRef still points to "images"
var spaceRef = storageRef.child("images/space.jpg")

那么声明引用的正确方法是什么? filePathAndNamegetReference(filePathAndName)的作用是什么?它是否具有与 Kotlin 语法中的子项相同的功能?

当您有一个 FirebaseStorage you can call reference/getReference on it to get a StorageReference object 的实例到根目录,或(通过传递路径字符串)到特定文件时。

当您有一个 StorageReference 对象时,您可以对其调用 child(...) 以获取对该引用下某个位置的引用。

这类似于您在编程的许多其他部分处理目录的方式:您可以立即将整个路径传递给一个文件,或者您可以传递部分路径并以这种方式构建相同的路径.


因此,如 creating references 上的文档所示,您可以通过以下方式获取对根目录的引用:

var storageRef = storage.reference

从那里,您可以通过以下方式获取对特定文件的引用:

var spaceRef = storageRef.child("images/space.jpg")

但是你也可以用这一行替换上面两行:

var storageRef = storage.getReference("images/space.jpg")

上述方法具有完全相同的结果,使用哪一种方法没有实际区别(因为这些引用是轻量级对象,尚未调用网络)。