如何从Firebase检索键和值并将它们存储在两个单独的变量中

我正在创建登录活动,它包含两个编辑文本用户名和密码 我想从firebase数据库实时检查登录用户名和密码 我这样保存在对象名称“用户”内部

{
  "users" : {
    "admin" : "a","table1" : "t1","table2" : "t2","table3" : "t3","table4" : "t4","table5" : "t5","table6" : "t6","table7" : "t7","table8" : "t8","table9" : "t9","table10" : "t10",}
}

此代码科特林

    private lateinit var database:FirebaseDatabase
    private lateinit var reference: DatabaseReference

    // initlize 
    database = FirebaseDatabase.getInstance()
    reference = database.getReference()

    inner class ReadData : ValueEventListener {
        override fun onCancelled(p0: DatabaseError) {
            Toast.makeText(applicationContext,p0.message.toString(),Toast.LENGTH_LONG).show()
        }

        override fun onDataChange(p0: Datasnapshot) {

            for(data in p0.children){

               Log.i("LIST IN FIREBASE",data.toString())

            }
        }
    }
}

fun login(view: View) {
    var readData = ReadData()
    reference.addValueEventListener(readData)
}

我可以访问密钥(“ admin”,“ table1”等), 但我无法访问值(“ a”,“ t1”等) 如何检查这种结构的登录信息?

不在乎语法kotlin或java 随意编写语法代码

wolaiwen_0 回答:如何从Firebase检索键和值并将它们存储在两个单独的变量中

首先进入子模式users,然后添加事件监听器。

reference.child("users").addValueEventListener(readData)

然后尝试在key内解析valueonDataChange

for(data in p0.children) { 

    val key = data.key
    val value = data.getValue(String::class.java)

    Log.i("LIST IN FIREBASE",data.toString())
}
本文链接:https://www.f2er.com/3157217.html

大家都在问