如何解决ANDROID-FIREBASE-不支持序列化集合
我正在使用领域数据库和firebase实时数据库来构建我的应用程序。基本上,我有一个服务器场,当我创建该服务器场时,可以将其上传到firebase,但是当我尝试更新它时,出现以下错误:不支持序列化集合,请改用列表
基本上,我在用户关闭应用程序时进行更新,因此我将插入我的类代码和onStop代码。如果您知道我能做些什么来解决,请帮助我。我很绝望。大声笑
这是我的onStop代码:
override fun onStop() {
val realm = Realm.getDefaultInstance()
realm.beginTransaction()
val farm : Farm = realm.where<Farm>().contains("id",id).findFirst()!!
farm.saveToDb()
realm.commitTransaction()
super.onStop()
}
这是我的农场代码:
open class Farm(
var codigoFazenda: String = "",var programa: String = "",var senha: String = "",var id: String = ""
) : RealmObject() {
var area = 0.0
var metaMargemLiquida = 0.0
var metaMargemBruta = 0.0
var metaRendaBruta = 0.0
var metaPatrimonioLiquido = 0.0
var metaLucro = 0.0
var metasaldo = 0.0
var metaLiquidezGeral = 0.0
var metaLiquidezCorrente = 0.0
var observacao: String = ""
var modificacao: String = ""
fun myEquals(farm: Farm) : Boolean {
if(codigoFazenda == farm.codigoFazenda
&& programa== farm.programa
&& senha== farm.senha
&& id== farm.id
&& area== farm.area
&& metaMargemLiquida== farm.metaMargemLiquida
&& metaMargemBruta== farm.metaMargemBruta
&& metaRendaBruta== farm.metaRendaBruta
&& metaPatrimonioLiquido == farm.metaPatrimonioLiquido
&& metaLucro == farm.metaLucro
&& metasaldo == metasaldo
&& metaLiquidezGeral == farm.metaLiquidezGeral
&& metaLiquidezCorrente == farm.metaLiquidezCorrente
&& observacao== farm.observacao
) {
return true
}
return false
}
@Exclude
fun attModificacao() {
val todayDate: Date = Calendar.getInstance().getTime()
modificacao = todayDate.time.toString()
}
@Exclude
fun saveToDb() {
attModificacao()
val db = Firebase.database.reference.child("fazendas").child(programa).child(id)
db.setValue(this)
}
}
由于我使用的是realmObject,因此无法使用数据类,因此我创建了此MyEquals方法来比较结果。这个attModificacao是我的updateMethod,我称之为将我的上次更新时间保存到firebase中,并将我的保存到db中将值推送到firebase中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。