不支持ANDROID-FIREBASE-序列化集合
我正在使用领域数据库和firebase实时数据库来构建我的应用程序。基本上,我有一个服务器场,当我创建这个服务器场时,我可以将它上载到firebase,但是当我尝试更新它时,我有以下错误:不支持序列化集合,请改用列表 基本上,我在用户关闭应用程序时进行更新,所以我将插入我的类代码和桌面代码。如果你知道我能做些什么,请帮帮我。我绝望了。哈哈 这是我的桌面代码:不支持ANDROID-FIREBASE-序列化集合,android,firebase,firebase-realtime-database,serialization,realm,Android,Firebase,Firebase Realtime Database,Serialization,Realm,我正在使用领域数据库和firebase实时数据库来构建我的应用程序。基本上,我有一个服务器场,当我创建这个服务器场时,我可以将它上载到firebase,但是当我尝试更新它时,我有以下错误:不支持序列化集合,请改用列表 基本上,我在用户关闭应用程序时进行更新,所以我将插入我的类代码和桌面代码。如果你知道我能做些什么,请帮帮我。我绝望了。哈哈 这是我的桌面代码: override fun onStop() { val realm = Realm.getDefaultInstance()
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()
}
因为我使用的是realmObject,所以我不能使用数据类,所以我创建了这个MyEquals方法来比较我的结果。此attModificacao是我的updateMethod,我调用此选项将上次更新时间保存到firebase,而我的保存到db将值推送到firebase
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)
}
}