【发布时间】:2018-05-13 18:38:33
【问题描述】:
我正在尝试在用户从 Firebase 登录后检索他们的信息。我有一个偷偷摸摸的怀疑,这个错误实际上不是我的问题 - 并且必须处理我使用ServerValue.Timestamp 来存储用户注册时的日期/时间的事实(因为我正在尝试将 dateJoined 拉回来,我的班级不知道如何处理它)。我的数据库看起来像这样:
登录时,这是我用来抓取用户信息的代码
//grab user's name from firebase
//drill down to specific user
val usersRef = FirebaseDatabase.getInstance().getReference("Users")
val loggedInUserRef = usersRef.child(user.uid) //specific to the logged in user
val dataRef = loggedInUserRef.child("UserInfo") //get logged in user info
//attach listener
dataRef.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
// Get Post object and use the values to update the UI
val user_data = dataSnapshot.getValue(User::class.java)
Log.w(TAG, dataSnapshot.value.toString())
//add relevant data to shared preferences
prefs.userName = "$user_data.FirstName $user_data.LastName"
}
override fun onCancelled(databaseError: DatabaseError) {}
})
我的用户类在一个单独的文件中:
package androidproject.project_rc
data class User(
var FirstName: String = "",
var LastName: String = "",
var Email: String = "",
var Password: String = "",
var DateJoined: Any
)
围绕这一行:val user_data = dataSnapshot.getValue(User::class.java) 是引发错误的地方 - 给出了什么?
【问题讨论】:
标签: android firebase-realtime-database kotlin