【发布时间】:2020-01-30 04:31:23
【问题描述】:
我有一个包含不同字段的用户模型类。 Firebase 有一个设置值方法,我们可以在其中传递对象,它会自动存储对象的值,并将相应的用户模型的项目名称作为节点的键。 我的应用在调试应用上运行良好。但是当我尝试使用发布应用设置值时,它会保存数据但键名不同,它是 c、d、i 等。
我正在初始化模型
userModel = new UserModel(mUser.getDisplayName(), mUser.getPhotoUrl().toString(), inputUname, url,
ratings, questions, instanceIdResult.getToken(), noti_settings);
我的模型类
public class UserModel implements Serializable {
private String uName,uDp,userName,profileLink;
private ArrayList<RatingModel> ratings;
private ArrayList<QuestionModel> questions;
private String token;
private NotificationModel noti_settings;
public UserModel(String uName, String uDp, String userName) {
this.uName = uName;
this.uDp = uDp;
this.userName = userName;
}
public UserModel(String uName, String uDp, String userName, String profileLink,
ArrayList<RatingModel> ratings, ArrayList<QuestionModel> questions, String token) {
this.uName = uName;
this.uDp = uDp;
this.userName = userName;
this.profileLink = profileLink;
this.ratings = ratings;
this.questions = questions;
this.token = token;
}
public UserModel(String uName, String uDp, String userName, String profileLink,
ArrayList<RatingModel> ratings, ArrayList<QuestionModel> questions, String token, NotificationModel
noti_settings) {
this.uName = uName;
this.uDp = uDp;
this.userName = userName;
this.profileLink = profileLink;
this.ratings = ratings;
this.questions = questions;
this.token = token;
this.noti_settings = noti_settings;
}
public NotificationModel getNoti_settings() {
return noti_settings;
}
public void setNoti_settings(NotificationModel noti_settings) {
this.noti_settings = noti_settings;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public ArrayList<QuestionModel> getQuestions() {
return questions;
}
public void setQuestions(ArrayList<QuestionModel> questions) {
this.questions = questions;
}
public ArrayList<RatingModel> getRatings() {
return ratings;
}
public void setRatings(ArrayList<RatingModel> ratings) {
this.ratings = ratings;
}
public String getProfileLink() {
return profileLink;
}
public void setProfileLink(String profileLink) {
this.profileLink = profileLink;
}
public String getuName() {
return uName;
}
public void setuName(String uName) {
this.uName = uName;
}
public String getuDp() {
return uDp;
}
public void setuDp(String uDp) {
this.uDp = uDp;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
已发布应用的设置值
从调试应用设置值
【问题讨论】:
-
我认为这是因为在应用程序的发布版本中使用了 proguard,使用 proguard 规则来保留模型类。
-
感谢您的帮助。其实我是android新手,你能告诉我如何设置proguard规则来保持模型类。
标签: android firebase firebase-realtime-database