【问题标题】:How to retrieving key and value from firebase and store them in two separate variables如何从firebase中检索键和值并将它们存储在两个单独的变量中
【发布时间】:2019-11-05 18:34:40
【问题描述】:

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

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

这段代码 kotlin

    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',...etc), 但我无法访问值('a'、't1'、...等) 像这样的结构如何检查登录?

不要关心语法 kotlin 或 java 写你喜欢的语法代码

【问题讨论】:

  • 分享你的代码 sn-ps 到。

标签: java android android-studio kotlin


【解决方案1】:

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

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

然后尝试在onDataChange中解析keyvalue

for(data in p0.children) { 

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    相关资源
    最近更新 更多