【发布时间】:2020-05-29 17:10:04
【问题描述】:
我有大问题。使用 Android Emulator 运行应用程序效果很好,但是当我将应用程序放在真机上时出现此错误:
java.lang.RuntimeException: Could not deserialize object. Failed to convert value of type java.lang.Long to boolean (found in field 'imp')
我的 Firebase 数据正常,“imp”字段是数据库中的布尔值,所以我检索的是来自数据库的布尔值并将其存储在布尔变量中。当数据从 Firebase 作为布尔值发送时,怎么能说我收到了 Long 呢?
为什么只有真机才会出现这种情况?
现在我真的不明白为什么在 Android Emulator 中可以正常工作,而在真实手机中安装应用程序会给我这个错误。
这是我正在处理数据的适配器:
public class modelNoutati {
String name;
String cont;
Date data;
Boolean imp;
public modelNoutati(){ }
public modelNoutati(String cont, Date data, Boolean imp, String name) {
this.name = name;
this.cont = cont;
this.data = data;
this.imp = imp;
}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public Date getData() {return data;}
public void setData(Date data) {this.data = data;}
public String getCont() {return cont;}
public void setCont (String cont) {this.cont = cont; }
public Boolean getImp () {return imp;}
public void setImp (Boolean imp) {this.imp = imp;}
我在 doc.getDocument().toObject(modelNoutati.class)
上遇到了问题for (DocumentChange doc : documentSnapshots.getDocumentChanges()){
if(doc.getType() == DocumentChange.Type.ADDED) {
modelNoutati newsInt = doc.getDocument().toObject(modelNoutati.class);
newsL.add(newsInt);
newsAdaptor.notifyDataSetChanged();
Logcat:
Process: projects.nv.umcstudent, PID: 14354
java.lang.RuntimeException: Could not deserialize object. Failed to convert value of type java.lang.Long to boolean (found in field 'imp')
at com.google.android.gms.internal.zzeym.zzc(Unknown Source)
at com.google.android.gms.internal.zzeym.zza(Unknown Source)
at com.google.android.gms.internal.zzeym.zzb(Unknown Source)
at com.google.android.gms.internal.zzeym.zza(Unknown Source)
at com.google.android.gms.internal.zzeym$zza.zza(Unknown Source)
at com.google.android.gms.internal.zzeym.zza(Unknown Source)
at com.google.android.gms.internal.zzeym.zza(Unknown Source)
at com.google.firebase.firestore.DocumentSnapshot.toObject(Unknown Source)
at com.google.firebase.firestore.QueryDocumentSnapshot.toObject(Unknown Source)
at projects.nv.umcstudent.News$1.onEvent(News.java:70)
at projects.nv.umcstudent.News$1.onEvent(News.java:57)
at com.google.firebase.firestore.zzi.onEvent(Unknown Source)
at com.google.android.gms.internal.zzeyn.zza(Unknown Source)
at com.google.android.gms.internal.zzeyo.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6692)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
【问题讨论】:
-
展示你的 lgocat。
标签: java android firebase firebase-realtime-database