gpt4 book ai didi

android - 如何为 Firebase 数据库序列化我的用户类并修复此错误?

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:04 25 4
gpt4 key购买 nike

我正在尝试从 Firebase 数据库的 dataSnapshot 中检索更新的用户:

mRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User atualizedUser = dataSnapshot.getValue(User.class);
fName.setText(atualizedUser.getFirstName());
lName.setText(atualizedUser.getLastName());
profilePhoto.setProfileId(atualizedUser.getProfileId());
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}

但是我在下面得到这个错误:

com.google.firebase.database.DatabaseException: Class bqs.bomqueso.Model.User is missing a constructor with no arguments
at com.google.android.gms.internal.zzbtg$zza.zze(Unknown Source)
at com.google.android.gms.internal.zzbtg$zza.zzaH(Unknown Source)
at com.google.android.gms.internal.zzbtg.zze(Unknown Source)
at com.google.android.gms.internal.zzbtg.zzb(Unknown Source)
at com.google.android.gms.internal.zzbtg.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at bqs.bomqueso.Activities.MainActivity$3.onDataChange(MainActivity.java:92)
at com.google.android.gms.internal.zzbpx.zza(Unknown Source)
at com.google.android.gms.internal.zzbqx.zzZS(Unknown Source)
at com.google.android.gms.internal.zzbra$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

这是我的用户类(这不是子类,我在单独的文件中创建它):

public class User {

private String firstName;
private String lastName;
private String profileId;

public User() { }

public User(String fName, String lName, String id) {
this.firstName = fName;
this.lastName = lName;
this.profileId = id;
}

public String getProfileId() {
return profileId;
}

public void setProfileId(String id) {
this.profileId = id;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lName) {
this.lastName = lName;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String fName) {
this.firstName = fName;
}
}

我在这里找到了类似的问题,但我没有找到解决问题的方法,希望大家能帮助我,先谢谢了!

最佳答案

对于 Kotlin,如果您正在为 firebase 使用如下数据类,

data class UserModel(
var userName: String,
var userType: Int
)

然后你会得到类似这样的错误

com.google.firebase.database.DatabaseException: UserModel does not define a no-argument constructor. If you are using ProGuard, make sure these constructors are not stripped.

为此,您只需要初始化它的值

data class UserModel(
var userName: String = "",
var userType: Int = 0
)

关于android - 如何为 Firebase 数据库序列化我的用户类并修复此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42968699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com