我的Firebase数据库仅保存对象的ID,而不保存属性。
Firebase与我的android应用程序连接,可以保存和撤退数据库中的数据,当我尝试向数据库中添加数据时,将创建firebase中的对象,但是之后我要添加到该对象的属性在数据库中不保存。
有人可以帮助我吗?
我的数据库类:
public class Database
{
private static Database database = null;
private static FirebaseDatabase firebaseDatabase;
private static DatabaseReference tractorRef;
private Database()
{
firebaseDatabase = FirebaseDatabase.getInstance();
tractorRef = firebaseDatabase.getReference("tractor");
}
public static void setInstance()
{
if(database == null)
{
database = new Database();
}
}
public static DatabaseReference getTractorRef()
{
setInstance();
return tractorRef;
}
}
我尝试保存的用户类别:
import android.util.Log;
public class User
{
private String id;
private String name;
private int age;
public User(String id, String name, int age)
{
this.id = id;
this.name = name;
this.age = age;
Log.d("User: ID:", "" + this.id);
Log.d("User: NAME:", "" + this.name);
Log.d("User: AGE:", "" + this.age);
}
public String getId() {
return id;
}
}
我用于在Firebase中添加对象的代码:
User user = new User(Database.getTractorRef().push().getKey(), "Someone", 21);
Database.getTractorRef().child(user.getId()).setValue(user);
我Log.d()中的输出:
...... D /用户:ID :: -LPD2UbA4sVqPXxWFv0V
...... D /用户:NAME ::某人
...... D /用户:年龄:: 21
我在Firebase数据库中看到的内容:
答案 0 :(得分:1)
这只是保存ID,因为getId()
是您定义的唯一公共获取方法。如果要保存其他字段,请同时公开其他字段的吸气剂。