android - 我们可以使用firebase控制台手动上传图片吗?
问题描述
在我的应用程序中,我必须在 RecyclerView 中显示来自 Firebase 数据库的图像,但问题是我不想使用我的应用程序上传图像,但我希望使用 Firebase 存储控制台手动添加它们,然后使用它们的位置添加在 Firebase 数据库中。我试过这样做,但滑翔没有加载图像。那么有没有办法手动上传图片并在应用程序中加载图片?
编辑: 在此处输入图像描述 看我的图像,我只是在我的数据库表中添加了图像的存储位置。之后,我使用这些函数来获取图像位置并在 glide 库的帮助下加载它们。
这是我从 Firebase 数据库中检索类别的代码。
fun getCategories() : List<Categories>{
val categoriesList = mutableListOf<Categories>()
CoroutineScope(IO).launch {
databaseReference.child("categories")
.addValueEventListener(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
for (postSnapshot in dataSnapshot.children) {
val categories = postSnapshot.getValue(Categories::class.java)
categoriesList.add(categories!!)
}
}
override fun onCancelled(p0: DatabaseError) {
}
})
}
return categoriesList
}
在检索类别列表后,我正在适配器类中加载我的图像。这是我的适配器类代码
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val model = modelList[position]
holder.nameOfFruit?.text = model.name
holder.nameOfFruit?.setOnClickListener {
it.findNavController().navigate(R.id.action_mainFragment_to_choiceSelectedFragmentModel)
}
Glide.with(myContext!!).load(model.url).into(holder.imageOfFruit)
}
已编辑:这是存储在我的数据库中的图像 URL。 在此处输入图像描述
解决方案
您已在数据库中存储了一个“gs://”URL。这是一个特殊的 Cloud Storage 网址,仅适用于 Google 基础架构。它不适用于浏览器或应用程序。
您将不得不在数据库中存储下载 URL。如果你做的正确,它将以“https://”开头。
推荐阅读
- tinymce - 在 Typescript 中输入 Tinymce 编辑器(任何意外)
- r - 使用 foreach 并行化嵌套的 for 循环
- go - 使用 Golang 测试资源管理器或自动化测试运行程序时设置秘密凭据
- flutter - 随机在屏幕上显示文本颤动
- python - 精确召回
- python - 使用 Maskrcnn 进行对象检测的准确性
- javascript - 防止 Nuxt auth 在 400 状态下重定向
- c# - “Dotnet ef 迁移添加”不创建迁移
- python - Pygame Mixer 音乐(多个音乐曲目)
- python - 使用 Python 检测 RTMP 直播流中的音频剪辑