gpt4 book ai didi

java - Kotlin Firebase 反序列化

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:33 26 4
gpt4 key购买 nike

我正在尝试使用 Kotlin 将数据从 Firebase 反序列化为 POJO,这是我的 POJO 类:

class Message {
var number: String ?= null
var message: String? = null
var timestamp: Long = 0L
var isHandled: Boolean ?= false
var type:String ?=null
}

这是我从 Firebase 检索数据的代码

val query = Fire.REF.child("sms").orderByChild("type").equalTo("outbox-unsent")
query.addChildEventListener(object : ChildEventListener {
override fun onChildAdded(dataSnapshot: DataSnapshot, key: String) {
val outbox = dataSnapshot.getValue(Message::class.java)
Log.d("BS", "Background Service $outbox")
}
//......
});

这是我在 Firebase 上的数据结构

"sms":{
"-KI3ar91oBXGNpXXrOCS" : {
"handled" : false,
"message" : "Pak kenapa koneksi...",
"number" : "+6285830166314",
"timestamp" : 1463587399000,
"type" : "inbox"
},
//.......//
}

当我执行代码时会引发错误:

java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter key

我上面的代码错在哪里?

最佳答案

正如 Augusto 上面所说,Kotlin 是 null-safe,但是在上面的函数中,key 参数可能为 null。所以代码应该是这样的

onChildAdded(dataSnapshot: DataSnapshot, key: String?)

关键参数后加问号

关于java - Kotlin Firebase 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37369895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com