【问题标题】:Can i access Firebase Storage without Realtime Database&我可以在没有实时数据库的情况下访问 Firebase 存储吗
【发布时间】:2021-09-05 16:55:43
【问题描述】:
我正在使用 Firebase 实时数据库在 RecyclerView 中存储和显示数据。现在我有很多图像(54)。我将它们存储在 Firebase 存储中。这是我的问题,我可以在没有创建数据库节点的情况下访问它们,并且它们是访问令牌以在 RecyclerView 中显示它们吗?
现在我正在使用 Firebase 实时数据库来获取他们的访问令牌并在 RecyclerView 中显示它们,就像在屏幕截图中显示的那样
【问题讨论】:
标签:
android
firebase
firebase-realtime-database
firebase-storage
【解决方案1】:
可以,如果您使用适用于 Android 的 Firebase 客户端 SDK 的相应 Cloud Storage methods。这将允许您检索存储在 Cloud Storage 中的对象的下载 URL,然后将它们显示在您的应用中,而无需数据库。
但是,使用 Realtime 或 Cloud Firestore 数据库的目的是为该资源生成一个访问令牌,供多个用户一次共享和重复使用。这大大缩短了应用程序的加载时间,因为您不必为访问对象的每个客户端生成访问令牌。
虽然您可以使用适当的权限将这些 URL 存储在 Cloud Storage 本身的自己的静态对象(例如gs://your-app.appspot.com/shared/images.json)中,但如果您撤销它的访问令牌,它的代价是不容易编辑,你可能会破坏依赖它的应用程序。
由于您可能已经在您的应用中使用实时数据库(用于用户数据、偏好和其他信息),因此将这些 URL 存储在您选择的数据库中的好处超过了负面影响。