【发布时间】:2022-01-08 07:12:42
【问题描述】:
我在尝试从 Firebase 获取包含列表 my_pokemon 的子节点 trainer_profile 时遇到此错误。
W/ClassMapper: No setter/field for my_pokemon found on class com.tapmaxalf.poketest.model.TrainerProfile
我的 Firebase 数据库:
我的 valueEventListener 看起来像这样:
private fun getTrainerProfile(userId: String) {
firebaseDatabase.child("trainer_profile").child(userId)
.addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
snapshot.getValue(TrainerProfile::class.java).let { trainerProfile ->
if (trainerProfile != null) {
viewModelScope.launch (Dispatchers.IO){
_state.value = state.value.copy(trainerProfile = trainerProfile)
userDao.updateTrainerProfile(trainerProfile, userId)
canProfileBeAdded(trainerProfile.timeSentToDatabase)
addProfileCountdown(trainerProfile.timeSentToDatabase)
}
}
}
}
override fun onCancelled(error: DatabaseError) {
updateError(AuthErrors.GenericError.messageResource)
}
})
}
还有我的教练资料
data class TrainerProfile(
val trainerName: String = "",
val location: String = "",
val trainerLevel: String = "",
val trainerCode: String = "",
val profileImage: String = "",
val gifts: Boolean = false,
val trade: Boolean = false,
val raid: Boolean = false,
val timeSentToDatabase: Long = 0,
val myPokemon: List<MyPokemon> = emptyList()
)
【问题讨论】:
标签: android firebase kotlin firebase-realtime-database google-cloud-platform