【发布时间】:2022-01-15 21:16:49
【问题描述】:
在我登录应用程序时 需要通过 UID 从实时数据库中获取用户配置文件
在文档中必须使用 addValueEventListener 从 RealTime DB 中读取
//如果我有 obj 的 id,如何直接从实时 firebase 获取价值
fun loginByEmail(email: String, password: String) {
firebaseAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener { task ->
if (task.isSuccessful) {
getUserValueFromDB(firebaseAuth.currentUser!!.uid, email)
}
}
}
//我的问题是这里无法访问这个方法
private fun getUserValueFromDB(uid: String, email: String) { //todo
databaseReference.child("Users").addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
for (snap in snapshot.children) {
var data = snap.getValue(User::class.java)
if (data?.id == uid) {
prefs.userImage = data.image!!
GlobalScope.launch {
_loginStatus.emit(true)
}
}
}
}
override fun onCancelled(error: DatabaseError) {
TODO("Not yet implemented")
}
})
}
【问题讨论】:
标签: android firebase firebase-realtime-database