【问题标题】:Get the value from a single field from my firebase db从我的 firebase db 的单个字段中获取值
【发布时间】:2019-05-11 19:53:45
【问题描述】:

使用 Koltlin 我正在尝试做一件非常简单的事情,所以我想...... 我想用我存储在firebase数据库中的“文件”字段的值设置一个textview.text。这是我的数据库:

我得到了单用户相关的内容,但像这样

key - enGKzLMIE0czXUWrcUeCnfKLQ7r1 value: {file=https://firebasestorage.googleapis.com/v0/b/lci9project.appspot.com/o/Avatars%2Fde4d49b5-20e7-4801-80d0-2458aafc5d23?alt=media&token=ffd9ab4f-73c7-49b5-9090-b2c5ff05e3e1, userid=Lasyyyl}

使用此代码:

val uidref= FirebaseAuth.getInstance().currentUser?.uid
    FirebaseDatabase.getInstance().reference.child("users/$uidref")
        .addListenerForSingleValueEvent(object : ValueEventListener {
            override fun onCancelled(p0: DatabaseError) {
            }

            override fun onDataChange(dataSnapshot: DataSnapshot) {
                val key = dataSnapshot.getKey()
                val value = dataSnapshot.getValue()
               println("key - $key value: $value")

但我似乎无法获得“文件”值...

【问题讨论】:

  • 我不清楚您的数据库的结构究竟如何。您似乎尝试附加图片,但文本格式不正确。
  • 嗯,它是 firebase 存储路径,如果您点击该链接,它将显示图像,但除此之外。我需要拥有个人领域的任何东西。它可以是用户 ID ...我需要知道结果中的“Lasyyyl”部分
  • 我了解到您有一张图片的网址。我不明白你的数据库的确切结构。
  • 什么链接?好像坏了
  • 似乎有些东西附加到图像上,我用了 db 对不起.. 这是我的 db.....imgur.com/k41ND5E

标签: android firebase firebase-realtime-database kotlin


【解决方案1】:

要获取文件的值,请更改以下内容:

val value = dataSnapshot.getValue()

进入这个:

val value = dataSnapshot.child("file").getValue(String::class.java)

【讨论】:

    【解决方案2】:

    如果你只想要文件 Strong 有 2 个选项

    datasnapshot.getChild("file").getValue(String.class)
    

    或者你可以只要求文件属性

    ...reference.child("users/$uidref").child("file")
    //You can also "users/$uidref/file"
    

    【讨论】:

      猜你喜欢
      • 2020-02-18
      • 2022-12-18
      • 2020-03-15
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多