致命异常:java.lang.RuntimeException在com.suman_miazi.e_exam.utils.f类上找不到要序列化的属性

致命异常:java.lang.RuntimeException在com.suman_miazi.e_exam.utils.f类上找不到要序列化的属性,java,android,firebase,google-cloud-firestore,pojo,Java,Android,Firebase,Google Cloud Firestore,Pojo,这种迷恋让我发疯。我正在使用firebase firestore存储用户信息。下面给出了我的用户模型类 public class User_data implements Parcelable { private String name; private String institute; private String subject; private String previous_score; private String rank; priv

这种迷恋让我发疯。我正在使用firebase firestore存储用户信息。下面给出了我的用户模型类

public class User_data implements Parcelable {
    private String name;
    private String institute;
    private String subject;
    private String previous_score;
    private String rank;
    private int points;
    private ArrayList enrolled = new ArrayList();
    private String profileImage;
    private String token;

    public User_data(){ }



 public static final Creator<User_data> CREATOR = new Creator<User_data>() {
        @Override
        public User_data createFromParcel(Parcel in) {
            return new User_data(in);
        }

        @Override
        public User_data[] newArray(int size) {
            return new User_data[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeString(this.name);
        parcel.writeString(this.institute);
        parcel.writeString(this.subject);
        parcel.writeString(this.previous_score);
        parcel.writeString(this.rank);
        parcel.writeInt(this.points);
        parcel.writeList(this.enrolled);
        parcel.writeString(this.profileImage);
    }

    public User_data(Parcel parcel) {
        this.name = parcel.readString();
        this.institute = parcel.readString();
        this.subject = parcel.readString();
        this.previous_score = parcel.readString();
        this.rank = parcel.readString();
        this.points = parcel.readInt();
        this.enrolled = parcel.readArrayList(null);
        this.profileImage = parcel.readString();
    }

// all getter and setter is also implemented here
}

所有代码在调试模式下都工作正常。但发布中的应用程序正在崩溃


请任何人给我一个解决方案。我尝试了很多方法,但都无法解决这个问题

我通过避免使用下面的方法强制转换并使用公共setter函数初始化对象来解决这个问题

旧方法:

User_data user_data = documentSnapshot.toObject(User_data.class);
user_data.setName(documentSnapshot.getString("name"));    
user_data.setInstitute(documentSnapshot.getString("institute"));
user_data.setSubject(documentSnapshot.getString("subject"));
user_data.setPoints(Objects.requireNonNull(documentSnapshot.getLong("poins")).intValue());
user_data.setToken(documentSnapshot.getString("token"));
user_data.setProfileImage(documentSnapshot.getString("profileImage"));
新方法:

User_data user_data = documentSnapshot.toObject(User_data.class);
user_data.setName(documentSnapshot.getString("name"));    
user_data.setInstitute(documentSnapshot.getString("institute"));
user_data.setSubject(documentSnapshot.getString("subject"));
user_data.setPoints(Objects.requireNonNull(documentSnapshot.getLong("poins")).intValue());
user_data.setToken(documentSnapshot.getString("token"));
user_data.setProfileImage(documentSnapshot.getString("profileImage"));

尝试将
points
变量更改为
Integer
类型,而不是
int
,并确保getter和setter是
public
。让我知道这是否解决了您的问题。请编辑您的问题并将您的数据库结构添加为屏幕截图。请回复@AlexMamo@SumonMiazi我提供的评论是否解决了您面临的问题?@ralemos我也尝试使用Integer,但问题没有解决。我不知道我哪里做错了。但现在我已经通过使用setter方法从firestore文档初始化对象来解决了这个问题。