java - “java.lang.IllegalArgumentException”试图检索文档数据
问题描述
这是日志:
java.lang.IllegalArgumentException:方法 group.onservice.onservice.GetData.setTimestamp 参数 1 的类型为 java.sql.Timestamp,在 com.google 的 java.lang.reflect.Method.invoke(Native Method) 获得 java.util.Date .android.gms.internal.zzevb$zza.zza(Unknown Source:134) at com.google.android.gms.internal.zzevb.zza(Unknown Source:437) at com.google.android.gms.internal.zzevb .zza(Unknown Source:2) at com.google.firebase.firestore.DocumentSnapshot.toObject(Unknown Source:9) at group.onservice.onservice.ProfileActivity$2.onEvent(ProfileActivity.java:155) at group.onservice.onservice .ProfileActivity$2.onEvent(ProfileActivity.java:146) at com.google.firebase.firestore.zzi.onEvent(Unknown Source:16) at com.google.android.gms.internal.zzevc.zza(Unknown Source:6) 在 com.google.android.gms.internal.zzevd.run(Unknown Source:6) 在 android.os.Handler.handleCallback(Handler.java:790) 在 android.os.Handler.dispatchMessage(Handler.java: 99) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6494) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android .internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)main(ActivityThread.java:6494) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.java:807)main(ActivityThread.java:6494) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.java:807)
这是发生错误的代码:
firebaseFirestore.collection("Posts").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
AdPost adPost = doc.getDocument().toObject(AdPost.class);
ad_list.add(adPost);
adRecyclerAdapter.notifyDataSetChanged();
}
}
}
});
我实际上并不知道如何编程,所以我在一些论坛和视频中搜索了如何做到这一点(我对编程有点陌生),问题是:我看到每个人都使用相同的确切代码,它为所有人工作,除了我。因此,没有人报告任何类型的错误。有人可以帮助我了解我的代码有什么问题吗?
PS:指定错误的确切行是这样的:
AdPost adPost = doc.getDocument().toObject(AdPost.class);
AdPost.class:
package group.onservice.onservice;
import java.sql.Timestamp;
public class AdPost {
String des, image_url, titu, user_id, valo;
Timestamp timestamp;
public AdPost() {
}
public AdPost(String des, String image_url, String titu, String user_id, String valo, Timestamp timestamp) {
this.des = des;
this.image_url = image_url;
this.titu = titu;
this.user_id = user_id;
this.valo = valo;
this.timestamp = timestamp;
}
public String getDes() {
return des;
}
public void setDes(String des) {
this.des = des;
}
public String getImage_url() {
return image_url;
}
public void setImage_url(String image_url) {
this.image_url = image_url;
}
public String getTitu() {
return titu;
}
public void setTitu(String titu) {
this.titu = titu;
}
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getValo() {
return valo;
}
public void setValo(String valo) {
this.valo = valo;
}
public Timestamp getTimestamp() {
return timestamp;
}
public void setTimestamp(Timestamp timestamp) {
this.timestamp = timestamp;
}
}
解决方案
推荐阅读
- ios - Alamofire 上传图片损坏
- regex - Regx 从最后两个破折号中删除输出
- python - 如何将 Spark Streaming 与 Tensorflow 集成?
- javascript - 在 Scrollview 中查看不显示
- node.js - 节点 ImageMagick 在本地成功但在 AWS Lambda 中失败
- mysql - 加入两个表后计数
- javascript - iife 内部函数需要明确的这个赋值
- tensorflow - 在 model_config_file 中分配版本标签失败
- python - 将 `tf.constant` 与整数进行比较
- c# - mdb文件数据插入增加mdb大小