如何向Firebase数据库添加数据?



我无法在Firebase实时数据库中添加任何数据。数据库连接正常,但我无法添加任何数据。当我点击按钮,添加到我的数据库中的数据。

MainActivity.java - codes

private FirebaseDatabase database;
private DatabaseReference dbRef;
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String plan,note,date,time,remb,eventId;
plan = etplan.getText().toString();
note = etnote.getText().toString();
date = etdate.getText().toString();
time = ettime.getText().toString();
if (remember.isChecked()==true){
remb= "true";
}
else{
remb = "false";
}
database = FirebaseDatabase.getInstance();
dbRef = database.getReference("events");
eventId = dbRef.push().getKey();
event = new Events(plan,note,date,time,remb);
dbRef.child(eventId).setValue(event);
Toast.makeText(MainActivity.this,"Events Added SUCCESSFULLY!", Toast.LENGTH_SHORT).show();
}
});

Events.java - codes

public class Events {
String plan;
String note;
String date;
String time;
String remb;
public Events(){
}
public Events(String plan, String note, String date, String time, String remb){
this.plan=plan;
this.note=note;
this.date=date;
this.time=time;
this.remb=remb;
}
}

我在运行中得到以下错误:4.美元com.cdirect.agenda.MainActivity onclick (MainActivity.java: 118)

这个代码:

dbRef.child(eventId).setValue(event);

和前面的eventID (is String)

eventId = dbRef.push().getKey().toString();

您可以这样为setValue(event)方法添加一个侦听器:

dbRef.child(eventId).setValue(event)
.addOnCompleteListener { task ->
if(task.isSuccessful) {
Toast.makeText(this, "Successful", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(this, task.getException().getMessage(),
Toast.LENGTH_SHORT).show();
}
}

现在task.getException().getMessage()将让您知道保存事件数据的实际问题。

另外,不要忘记检查数据库规则是否读写设置为true

最新更新