嗨,我想使用模型在数据库中注册用户的名称和姓氏。数据存储在数据库中,但不发送我在模型中使用的名称作为子名称。而是保存“ a,b,c,d ...”。这是什么原因?
创建的数据库:
"-LMqLmS09gGKjR-s9CML" : {
"a" : "Robin",
"b" : "Hood"
}
我要创建的数据库:
"-LMqLmS09gGKjR-s9CML" : {
"firstname" : "Robin",
"lastname" : "Hood"
}
User.java(模型):
public class User {
public String fistname;
public String lastnname;
public User(String fistname, String lastnname) {
this.fistname = fistname;
this.lastnname = lastnname;
}
public String getFistname() {
return fistname;
}
public void setFistname(String fistname) {
this.fistname = fistname;
}
public String getLastnname() {
return lastnname;
}
public void setLastnname(String lastnname) {
this.lastnname = lastnname;
}
}
MainActivity.java:
public class MainActivity extends AppCompatActivity {
String firstname="Robin";
String lastname="Hood";
private DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseApp.initializeApp(this);
mDatabase = FirebaseDatabase.getInstance().getReference();
String key = mDatabase.push().getKey();
User users = new User(firstname,lastname);
mDatabase.child(key).setValue(users);
}
}
我终于找到了答案。这是因为我使用proguard来确保安全性。Proguard会重新整理您键入的代码,以使其他人在创建.APK之后看不到该代码。Firebase被自动分类,因为它也混淆了孩子的名字。我通过将模型类放在proguard之外来解决了这个问题。
Android Firebase仅在通过发行版APK安装时使用字母键(例如“ a”,“ b”,“ c”)存储自定义对象成员。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句