java - 如何从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 写语法代码随心所欲
解决方案
首先进入子模式users
,然后添加事件监听器。
reference.child("users").addValueEventListener(readData)
然后尝试解析key
并value
在里面onDataChange
for(data in p0.children) {
val key = data.key
val value = data.getValue(String::class.java)
Log.i("LIST IN FIREBASE",data.toString())
}
推荐阅读
- django - Django 静态文件包含
- python - Pandas:加载跨越多行的记录
- azure - 如何使用 Azure 函数应用通过 URL 将文件上传到存储位置
- php - 在 wp_query 循环之外传递自定义帖子类型字段
- brightway - Brightway2 - 获得即时交换的 LCA 分数
- java - 需要帮助使用 Room ORM android 实现收藏夹?
- sql - 使用 SQL 将多行转换为 CSV 时删除重复项
- php - Wordpress 在具有缓存的模板中使用 php 会话变量
- javascript - Facebook API Graph:弃用 publish_actions 后“上传视频”
- javascript - 根据在其他 Telerik 列表中选择的内容填充 Telerik 下拉列表