【发布时间】:2019-02-24 14:39:18
【问题描述】:
我正在使用 Firebase 数据库,下面指定的是我的 java 类结构。在 Firebase 数据库中保存我的第一个对象后,我意识到这些键会自动转换为 Firebase 数据库中的小写键。有什么解决方案可以在保存我的对象的同时保留案例。
public class Student {
String NAME;
String ROLL_NUMBER;
String USER_NAME;
String MAIL_ID;
String PASSWORD;
public Student() {
}
public Student(String NAME, String ROLL_NUMBER, String PASSWORD, String MAIL_ID, String USER_NAME) {
this.NAME = NAME;
this.ROLL_NUMBER = ROLL_NUMBER;
this.PASSWORD = PASSWORD;
this.MAIL_ID = MAIL_ID;
this.USER_NAME = USER_NAME;
}
public String getNAME() {
return NAME;
}
public String getROLL_NUMBER() {
return ROLL_NUMBER;
}
public String getPASSWORD() {
return PASSWORD;
}
public String getMAIL_ID() {
return MAIL_ID;
}
public String getUSER_NAME() {
return USER_NAME;
}
}
我也试过@SerializedName 也没有任何区别。
这是 Firebase 数据库中的键值对
"-LMqLmS09gGKjR-s9CML" : {
"mail_ID" : "gyana@gmail.com",
"name" : "Gyanaranjan",
"password" : "123456",
"roll_NUMBER" : "1001028",
"user_NAME" : "gyan1028"
},
"-LMqMPegnxHp8l4efj_J" : {
"mail_ID" : "shyamu@gmail.com",
"name" : "Shyama G",
"password" : "113456",
"roll_NUMBER" : "1001056",
"user_NAME" : "shyamla1056"
}
【问题讨论】:
-
请向我们展示您用于将数据添加到数据库的代码。
-
FirebaseDatabase 数据库 = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("users");字符串键 = myRef.push().getKey();学生 student = new Student(name, rollNumber, password, mail,userName); myRef.child(key).setValue(student);
-
您是否尝试过删除旧数据并添加新数据,看看您是否有相同的行为?
-
以下链接stackoverflow.com/questions/26292731/… 提供了为什么会发生这种情况的答案/解释,但无法将大写密钥插入 Firebase 数据库系统。在 iOS 中,他们可以轻松实现。
-
你说的是哪个链接?
标签: java android firebase firebase-realtime-database android-filterable