【问题标题】:Firestore "No properties to serialize found on" in kotlinkotlin中的Firestore“找不到要序列化的属性”
【发布时间】:2020-07-24 16:30:59
【问题描述】:

我遇到了这个异常

java.lang.RuntimeException:在类上找不到要序列化的属性 java.lang.Void

在这一行:

val glist = input.toObject(Glist::class.java)

我不使用 proguard,奇怪的是在实施身份验证之前一切正常。

我检查了几个答案,但它们包括要求我认为我已经实现的公共构造函数的 proguard 或 Java 类模型。我还尝试实现Serializable,它没有改变任何东西。

data class Glist (
    var id: String,
    val ti: String,
    val cat: Int
) {
    constructor() : this("", "", 0)

    var lactuid = Fire.getUid()
    var lact = ActionHelper.CREATED_LIST
    var lacti = ""
    var arch = null
    var del = null
    var lactd: Date
    var cre: Date
    var cha: Date
    var own = Fire.getUid()
    var adminuid = null
    var col = ArrayList<String>(  )
    var ni = ArrayList<String>(  )
    var nci = ArrayList<String>(  )

    init {
        val now: Date = TimeUtil.getTime()
        lactd = now
        cre = now
        cha = now
        col.add(Fire.getUid())
    }
}

【问题讨论】:

标签: android kotlin serialization


【解决方案1】:

问题是因为 kotlin data class 的一些变量初始化为 null 但没有任何特定的数据类型。我刚刚添加了数据类型并解决了问题

data class Glist  (
    var id: String,
    val ti: String,
    val cat: Int
) {

    constructor() : this("", "", 0)

    var lactuid = Fire.getUid()
    var lact = ActionHelper.CREATED_LIST
    var lacti = ""
    var arch: Date? = null
    var del: Date? = null
    var lactd: Date
    var cre: Date
    var cha: Date
    var own = Fire.getUid()
    var adminuid: ArrayList<String>? = null
    var col = ArrayList<String>(  )
    var ni = ArrayList<String>(  )
    var nci = ArrayList<String>(  )

    init {
        val now: Date = TimeUtil.getTime()
        lactd = now
        cre = now
        cha = now
        col.add(Fire.getUid())
    }
}

【讨论】:

    猜你喜欢
    • 2019-05-17
    • 2018-08-01
    • 1970-01-01
    • 2016-10-11
    • 2018-02-25
    • 2017-04-03
    • 2018-03-08
    • 1970-01-01
    相关资源
    最近更新 更多